Files
mt5-tools/__pycache__/view_trade_analysis.cpython-314.pyc
T

130 lines
20 KiB
Plaintext
Raw Normal View History

2026-04-12 18:25:46 +10:00
+
PŰiŚ:ăóŕRt^RIt^RIHt^RIt^RIt]PP^]PP]PP] 444^RI
HtHtRtR#)uk
pages/trade_analysis.py
=======================
MT5 Trade Analysis page — migrated from main dashboard.
N)Údetect_and_parseÚ
calc_statscó‚\P!R4R\P9d'R\PR&R\PR&\P!^^.4wrV;_uu_4\P!R.R`ORR7pRRR4T;_uu_4\P
!RRR 7\P !R
R R 7'd<R\PR&R\PR&\P!4RRR4X'\VP4VP4wr4VeMV\PR&V\PR&\P!R
\V4 RV 24M\P!R4\PR,p\PR,pVe\V4^8Xd\P
!RRR 7R#V'd'\P!RV R\V4 R24\P!4\P!^4wrgr‰V;_uu_4VR,P!4P#4p
VR,P%4P#4p \P&!RWŞV RR7p \P&!RWşV RR7p
RRR4V;_uu_4\)VR,P+4P-4P/44p\P0!RVRR 7pRRR4V;_uu_4\)VR,P+4P-4P/44p\P0!RVRR 7pRRR4V ;_uu_4.RaOp\P0!R VR!R 7p\P0!R"R#R$.R%R 7pRRR4VP34pW3R,P4P"X VR,P4P"X
8*,,pX'dW3R,P7V4,pX'dW3R,P7V4,pX'dW3R&,P7V4,pX'dW3R',P7V4,p\P!R(\V4 R)24\P8!R*.RbORR/R07p\P!4RcR1lpRdR2lpR3pR4pR5pVR+8Xdm\;V4pV!VR64V!V4\P!^4wrV;_uu_4V!V4RRR4V;_uu_4V!V4RRR4EMöVR,8XEd\)VR,P+4P-4P/44pV'g\P<!R74EM\P>!R84.pVF„pW3R,V8H,p\;V4p VPAR9VR:V R;,R<V R=,R>V R?,R@V RA,RBV RC,RDV RE,RFV RG,RHV RI,RJV RK,/
4K† \CRL4PEV4PGR<RMRN7p!\PH!V!PJPMV.ReORO7RRRP7\P!4\PN!RQV4p"V"'dW3R,V"8H,p\;V4p V!V V"4V!VV" RR24\P!^4wrV;_uu_4V!V4RRR4V;_uu_4V!V4RRR4EMŮEM×VR-8XE\)VR,P+4P-4P/44p#.pV#FrpW3R,V8H,p\;V4p VPARVR:V R;,R<V R=,R>V R?,R@V RA,RBV RC,RDV RE,RFV RG,/4Kt \CRL4PEV4PGR<RMRN7p!\PH!V!PJPMV.ReORO7RRRP7\PN!RSV#4p"V"'dW3R,V"8H,p\;V4p V!V V"4V!VV" RR24\P!^4wrV;_uu_4V!V4RRR4V;_uu_4V!V4RRR4MMVR.8XdV!V4V!V4\P!4\PP!RT4;_uu_4.RfOp$V$U%u.uFp%V%VP9gKV%NK p$p%RVp&\PH!VV$,PJPMV&R=RU.RO7RRRWRX7\PR!RYVV$,PURMRZ7R[V R\V
R]2R^R_7RRR4R# +'giE
L/;i +'giE Lż;i +'giELö;i +'giEL˘;i +'giELN;i +'giEL;i +'giEL{;i +'giEL|;i +'giEL†;i +'giEL¤;i +'giELě;i +'giELĚ;iuup%i +'giR#;i)gu📊 Trade AnalysisÚta_dfNÚ ta_formatz2Upload MT5 Report (HTM/HTML) or Quant Analyzer CSVÚ ta_upload)ÚtypeÚkeyz<br>T)Úunsafe_allow_htmlu
đź—‘ ClearÚta_clear)r u âś“ Loaded u trades — u,Could not parse report — check file formatzĘ
<div class="info-card">
Upload an MT5 account history report (.htm/.html), MT5 backtest report,
or a Quant Analyzer CSV export to begin analysis.
</div>
zFormat detected: **u** · z
total tradesÚ open_timeÚFromÚta_from)ÚvalueÚ min_valueÚ max_valuer ÚToÚta_toÚsymbolÚSymbolÚta_symÚstrategyz
Strategy / EAÚta_stratz Day of weekÚta_daysÚTypeÚbuyÚsellÚta_typeÚ day_of_weekrz
Showing **z** trades after filtersz
Analysis modeÚOverallú By Strategyú By SymbolúBy Day of WeekÚta_mode)Ú
horizontalr có(V'd\P!RV R24\P!^4wr#rEpVPRRVR,R
24VPRVR, R24VPRVR , 4VPR
VR , 4VPR RVR
,R
24\P!^4wr#rEpVPRVR,4VPRRVR,R
24VPRRVR,R
24VPRRVR,R
24VPRRVR,R
24\P!^4wr#rEpVPRVR,4VPRVR,4VPRVR, R24VPRVR , R24VPR!RVR",R
24\P!^4wr#rEVPR#VR$,4VPR%VR&, R24VPR'VR(,4VPR)VR*, R24R+#),z**ú
Net ProfitÚ
net_profitz,.2fzWin RateÚwin_rateÚ
Profit FactorÚ
profit_factorz R:R RatioÚrr_ratioÚ
ExpectancyÚ
expectancyz Total TradesÚ total_tradeszAvg WinÚavg_winzAvg LossÚavg_lossúMax DDÚ max_drawdownz
Best TradeÚ
best_tradezMax Consec WinsÚmax_consec_winszMax Consec LossesÚmax_consec_lossesz Avg Win DurÚavg_win_durationÚmz Avg Loss DurÚavg_loss_durationz Worst TradeÚ worst_tradez Long TradesÚ long_tradesz
Long Win RateÚ
long_win_ratez Short TradesÚ short_tradeszShort Win RateÚshort_win_rateN)ÚstÚmarkdownÚcolumnsÚmetric)ÚstatsÚlabelÚc1Úc2Úc3Úc4Úc5s&& Ú+C:\Users\pc\MT5Tools\view_trade_analysis.pyÚ render_statsÚrender.<locals>.render_statsnsKß Ü ŹKŠK"UG 2Ô źZšZ¨Ř
Ź ‰ , Q u¨\Ő':¸4Đ&@Đ#AÔ
Ź ‰ * e¨JŐ&7Đ%8¸Đ#:Ô
Ź ‰ / e¨OŐ&<Đ%=Ô
Ź ‰ + e¨JŐ&7Đ%8Ô
Ź ‰ , Q u¨\Ő':¸4Đ&@Đ#AÔźZšZ¨Ř
Ź ‰ . Ő#8Ô
Ź ‰ ) Q u¨YŐ'7¸Đ&=Đ#>Ô
Ź ‰ * Q u¨ZŐ'8¸Đ&>Đ#?Ô
Ź ‰ ( Q u¨^Ő'<¸TĐ&BĐ#CÔ
Ź ‰ , Q u¨\Ő':¸4Đ&@Đ#AÔźZšZ¨Ř
Ź ‰ Đ# uĐ->Ő'?Ô
Ź ‰ Đ% uĐ-@Ő'AÔ
Ź ‰ -¨%Đ0BŐ*CĐ)DŔAĐ'FÔ
Ź ‰ .¨%Đ0CŐ*DĐ)EŔQĐ'GÔ
Ź ‰ ¨5°Ő+?ŔĐ*EĐ'FÔźš AŘ
Ź ‰ - Ő#7Ô
Ź ‰ / e¨OŐ&<Đ%=¸QĐ#?Ô
Ź ‰ . Ő#8Ô
Ź ‰ Đ" eĐ,<Ő&=Đ%>¸aĐ#@ÖcóčVPR4P4pVR,P4VR&\P!4pVP \P !VR,VR,R\R^R7RRRR 74VPVR
R R \R R
R7\RR7\RRR7\^<^^(^(R7R7\P!VRR7R#)Ú
close_timer(Ú
cumulativeÚlinesz#7c6af7)ÚcolorÚwidthÚtozeroyzrgba(124,106,247,0.08)ÚEquity)ÚmodeÚlineÚfillÚ fillcolorÚnamei,úrgba(10,10,15,1)ú#aaazJetBrains Mono)rSÚfamilyúrgba(255,255,255,0.04)©Ú gridcolorr'©rcÚ
tickprefix©Úb)ÚtitleÚheightÚ plot_bgcolorÚ
paper_bgcolorÚfontÚxaxisÚyaxisÚmarginT©Úuse_container_widthN) Ú sort_valuesÚcopyÚcumsumÚgoÚFigureÚ add_traceÚScatterÚdictÚ
update_layoutr@Ú plotly_chart)Údf_plotrEÚdf_sÚfigs&& rKÚrender_equity_curveÚ#render.<locals>.render_equity_curveŤs×Ř×" 0×7Ř! 8ÜŹiŠi‹kŘ Ź
”b—j  Ő$6ŘÜI¨QÔŘô

ô đ ×ŃŘ ŘFĐ+;ÔĐ!9ÔĐ!9ŔcÔ"  b¨BÔ ô
ô ŹŠ°×6rNcóx.ROpVPR4PR R!RR3R7PVUu.uF"q"VR,P49gK VNK$ up4pWR,,PR4R,P 4PVP
^R7pWR,(,PR4R,P 4PVP
^R7p\ P!4pVP\ P!VP
VRRR 74VP\ P!VP
VR
R R 74VPR R
RRR\RR7\^<^^(^(R7\RR7\RRR7\RR7R7
\P!VRR7VP4p.R"OVnVR,P!^4VR&\P"!VRRR7R#uupi)#ÚMondayrr(ÚwincóD\VP4^d,^4#)éd)ÚroundÚmean)rWs&rKÚ<lambda>Ú2render.<locals>.render_dow_chart.<locals>.<lambda>©s¬5°·±ł¸#µ¸qÔ+ArN)Útradesr(r)©Ú
fill_valueÚProfitúrgba(45,198,83,0.8)©rWrXr]Ú marker_colorÚLossúrgba(230,57,70,0.8)zP&L by Day of WeekéÚrelativer^r_©rSrfrarbr'rdúrgba(0,0,0,0.3)©Úbgcolor©
rkrlÚbarmodermrnrorrrprqÚlegendTrsr&©rtÚ
hide_indexN)r…ÚTuesdayÚ WednesdayÚThursdayÚFridayÚSaturdayÚSunday©r(Úcount©r(Úsum)ÚDayÚTradesr&ú
Win Rate %)ÚgroupbyÚaggÚreindexÚuniquerŞÚindexrxryrzÚBarr}r|r@r~Ú reset_indexrBr‰Ú dataframe)rÚ dow_orderÚdowÚwins_dowÚ
losses_dowrÚdts& rKÚrender_dow_chartÚ render.<locals>.render_dow_chart¤Ú\ ŘŹo‰oŃ!AĐ
÷ ‰'™iÓP™i°¸
Ő0F×0MŃ0MÓ0OŃ+O—11™iŃ
đ  Uť^Ő,×4°]ÓCŔLŐQ×W×_Đ`c×`iŃ`iĐvwĐxŘ eťn5°mÓDŔ\ŐR×X×`Đad×ajŃajĐwxĐy
äŹiŠikŘ Ź
”b—ffsźy™y¨H¸XĐTiÔ Ź
”b—ffsźy™y¨J¸VĐTiÔ ×ŃŘ&¨s¸+Đ;MÜ#¬D°2¸¸rŔRÔ,HÜĐ!9ÔĐ!9ŔcÔĐ 1Ô
ô
ô ŹŠ°Ő
Ź_‰_Ó
ÚBŚ
Ř+×1°!Ó4Ü
Ź Š R¨T¸d×Cůň+Qs ¸H7ÁH7cóNVPR4PRRR7pWR,,PR4R,P4PVP^R7pWR,(,PR4R,P4PVP^R7p\
P !4pVP\
P!VPVRRR74VP\
P!VPVRR R74VPR
R R R
R
\RR7\^<^^(^(R7\RRR7\RRR7\RR7R7
\P!VRR7R#)Úhourr()r(r†rrrr”r•zP&L by Hour of Dayrr—r^r_rrfraz
Hour (UTC))rcrkr'rdr™TrsNr§)
r˛rxryrzr}r|r@r~)rÚhourlyÚwins_hÚlosses_hrs& rKÚrender_hour_chartÚ!render.<locals>.render_hour_chartÁsSŘ Ó
đ 5ť>Ő*×2°6Ó:¸H×N×VĐW]×WcŃWcĐpqĐrŘ EťN3°FÓ;¸I×O×WĐX^×XdŃXdĐqrĐsäŹiŠikŘ Ź
”b—f’fvź|™|°ŔĐWlÔ Ź
”b—f’fxź~™~°ŔĐWlÔ ×ŃŘ&¨s¸+Đ;MÜ#¬D°2¸¸rŔRÔ,HÜĐ!9ŔÔĐ!9ŔcÔĐ 1Ô
ô
ô ŹŠ°×6rNcó†\\V4PRR44pV^8”dR#V^8dR#R# R#;i)Úú$background-color: rgba(0,180,0,0.12)ú$background-color: rgba(180,0,0,0.12))ÚfloatÚstrÚreplace©ÚvalÚvs& rKÚ
colour_profitÚrender.<locals>.colour_profitÖsJđ Ü”c#“h×& s¨BÓ01ŚuŃ1ŚuŃCřđ Ř Ůús
+;Ż;»AzOverall StatisticszNo strategies foundzStrategy ComparisonÚStrategyr¬r0r&r(r­r)r+r,zR:Rr-r.r/r3r4z Max Consec Wr6z Max Consec Lr7ÚpandasF)Ú ascending)ÚsubsetrźzSelect strategy for detailu — Equity CurvezSelect symbol for detailz
Raw Trade LogÚprofitcóT\V4pV^8”dR#V^8dR#R# R#;i)é)s& rKÚ
colour_netÚrender.<locals>.colour_net;s8đ
Ü#“JŘq”5Ń!GŘq”5Ń!Gřđ
ŘŮús ""˘'i)rtr rlu ⬇ Download filtered trades CSV)r˛Ú mt5_trades_Ú_z.csvztext/csv)ÚdataÚ file_nameÚmime)ÚhtmlÚhtmÚcsv)r…)rr r!r"))z Equity Curve)r&r.r3)r rPrrrÚvolumeÚ
open_priceÚ close_priceÚslÚtpÚ
commissionÚswaprÖr(Ú duration_min)+r@rkÚ
session_staterBÚ