File size: 3,911 Bytes
c5ef85d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77

# MT-Parsee
An `MT5-trade-report.xlsx` file parser constructs statistical graphs for clear visualization of the trading strategy performance. For demonstration, it handles 71,478 cells dataframe to generate 76 rolling trading metrics and graphs with [consideration](https://github.com/algorembrant/MTParsee/blob/main/metrics_consideration.pdf) of balance-based and equity-based calculations. Drop the xlsx file once β€” then let the bot do the rest.



## Demonstation
https://github.com/user-attachments/assets/92a9049a-1948-49ed-b96b-75366a9f5b74





## Project Structure
```

β”œβ”€β”€ backend/

β”‚   β”œβ”€β”€ [1]_main_watchdog.py       # monitors and conduct automation                  

β”‚   β”œβ”€β”€ [2]_Drop_xlsx_here/        # drog the xlsx file here                   

β”‚   β”œβ”€β”€ [3]_Process/                                                                                      

β”‚   β”‚   β”œβ”€β”€ 1_layer.py          # parsing the entire one xlxs                     

β”‚   β”‚   β”œβ”€β”€ 2_layer.py          # extracts the order&deals tables                

β”‚   β”‚   β”œβ”€β”€ 3_layer.py          # from 2 csv, merge into one                     

β”‚   β”‚   β”œβ”€β”€ 4_layer.py          # only all red-rolling_28-metrics (MT5)           

β”‚   β”‚   β”œβ”€β”€ 5_layer.py          # only all blue-rolling_13-metrics (non-MT5)       

β”‚   β”‚   β”œβ”€β”€ 6_layer.py          # from 2 csv, all balance-based_41-metrics         

β”‚   β”‚   β”œβ”€β”€ 7_layer.py          # only all orange (equity-based) rolling_metrics  

β”‚   β”‚   β”œβ”€β”€ 8_layer.py          # from 1 csv, all equity-based_35metrics          

β”‚   β”‚   └── 9_layer.py          # all balance & equity-based_76metrics             

β”‚   β”œβ”€β”€ [4]_output_csv_files/   # The "Result": Final processed data ends up here      

β”‚   β”‚   β”œβ”€β”€ Upload-1_ID/            # This is where the parsed file for first uploaded file

β”‚   β”‚   |   β”œβ”€β”€ 1_layer_output.csv  # example file

β”‚   β”‚   |   β”œβ”€β”€ 2_layer_output.csv  # example file

β”‚   β”‚   |   β”œβ”€β”€ 3_layer_output.csv  # example file 

β”‚   β”‚   |   β”œβ”€β”€ 4_layer_output.csv  # example file

β”‚   β”‚   |   β”œβ”€β”€ 5_layer_output.csv  # example file

β”‚   β”‚   |   β”œβ”€β”€ 6_layer_output.csv  # example file

β”‚   β”‚   |   β”œβ”€β”€ 7_layer_output.csv  # example file 

β”‚   β”‚   |   β”œβ”€β”€ 8_layer_output.csv  # example file

β”‚   β”‚   |   β”œβ”€β”€ 9_layer_output.csv  # example file

β”‚   β”‚   |   └──  visualize_results.py  # 76 plot maker in one tab

β”‚   β”‚   β”œβ”€β”€ Upload-2_ID/               # This is where the parsed file for second uploaded file

β”‚   β”‚   β”œβ”€β”€ Upload-3_ID/               # This is where the parsed file for third uploaded file

β”‚   β”‚   └── Upload-4_ID/               # and so on, the pattern goes infinite



```


## Straightforward steps

- install python requirements <br>
- run watchdog.py once<br>
- for demonstration, drag-n-drop MT5-trade-report xlsx file into [2] folder
- let the bot do the rest

## MT5 Trade Report

<img width="820" height="200" alt="ReportTester-263254895" src="https://github.com/user-attachments/assets/908ffd2a-2c1e-4a95-91b3-1483e1256cdd" />

The MT5 Trade Report only provides one rolling metric (as shown above), whereas my parser bot provides 76 rolling metrics. All metrics are listed [here](https://github.com/algorembrant/MTParsee/blob/main/metrics_consideration.pdf).

## All 76 Trading metrics

![file](https://github.com/algorembrant/MTParsee/blob/main/use%20this%20for%20lineschart%20%26%20y-distribution%20graphs/Trade%20Report_graphs.png)

## Citation

```bibtex

@misc{MTParsee,

  author = {Albeos, Rembrant},

  title = {{MTParsee}},

  year = {2026},

  url = {https://github.com/algorembrant/MTParsee},

  note = {GitHub repository}

}

```