| # 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 | |
|  | |
| ## Citation | |
| ```bibtex | |
| @misc{MTParsee, | |
| author = {Albeos, Rembrant}, | |
| title = {{MTParsee}}, | |
| year = {2026}, | |
| url = {https://github.com/algorembrant/MTParsee}, | |
| note = {GitHub repository} | |
| } | |
| ``` | |