{"id":19282275,"url":"https://github.com/jaybfn/fx_analytics","last_synced_at":"2026-03-14T17:10:57.248Z","repository":{"id":199246073,"uuid":"702450286","full_name":"jaybfn/fx_analytics","owner":"jaybfn","description":"Forex Dashboard is a comprehensive tool designed for Forex traders to monitor and analyze their trading performance metrics.","archived":false,"fork":false,"pushed_at":"2024-01-05T12:20:41.000Z","size":6025,"stargazers_count":3,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-27T07:49:32.594Z","etag":null,"topics":["analytics","pandas","plotly","python","streamlit-webapp"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jaybfn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-10-09T10:42:19.000Z","updated_at":"2025-02-11T09:26:38.000Z","dependencies_parsed_at":"2024-01-12T13:15:15.886Z","dependency_job_id":null,"html_url":"https://github.com/jaybfn/fx_analytics","commit_stats":{"total_commits":126,"total_committers":2,"mean_commits":63.0,"dds":"0.015873015873015928","last_synced_commit":"08a9cf8c2131f9d1126070320086940939d89fcb"},"previous_names":["jaybfn/fx_analytics"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaybfn%2Ffx_analytics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaybfn%2Ffx_analytics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaybfn%2Ffx_analytics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaybfn%2Ffx_analytics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaybfn","download_url":"https://codeload.github.com/jaybfn/fx_analytics/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250162033,"owners_count":21385030,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analytics","pandas","plotly","python","streamlit-webapp"],"created_at":"2024-11-09T21:26:01.508Z","updated_at":"2026-03-14T17:10:52.230Z","avatar_url":"https://github.com/jaybfn.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Forex Dashboard\n\n## Project Status\n\n| **Testing** | **Package** |\n|-------------|-------------|\n| [![Testing Status](https://github.com/jaybfn/fx_analytics/actions/workflows/pytest_ci.yml/badge.svg)](https://github.com/jaybfn/fx_analytics/actions) | [![PyPI Latest Release](https://img.shields.io/pypi/v/fx-analytics)](https://pypi.org/project/fx-analytics/) |\n\n## Overview\n\nForex Dashboard is a comprehensive tool designed for Forex traders to monitor and analyze their trading performance metrics. By seamlessly integrating with the MT5 terminal on Windows, the tool extracts trading deals, processes the data, and presents it in a user-friendly dashboard using Streamlit. This dashboard provides traders with insights into their daily wins, traded commodities, profit margins, and overall growth percentages.\n\nAlso, you can read on Medium : [Introducing Forex Dashboard: A Comprehensive Tool for Forex Traders](https://medium.com/@jayesh.bfn/introducing-forex-dashboard-a-comprehensive-tool-for-forex-traders-d56afb1d84a0)\n\n## Features\n\n- **ETL Process**: Extracts trading data from the MT5 terminal, transforms it for analysis, and loads it into a CSV file.\n- **Streamlit Dashboard**: Displays key performance metrics, including:\n  - Daily wins and losses.\n  - Traded commodities breakdown.\n  - Profit gains and losses. \n  - Daily and overall portfolio growth.\n  - Commissions paid.\n  - Daily and Total Trades executed.\n  - Weekly and Monthly gains.\n\n## Prerequisites\n- Operating System: Windows (Tested on Windows 11)\n- MT5 terminal installed on a Windows machine [MT5 Downloads](https://www.metatrader5.com/en/download).\n- Python \u003e= 3.11 environment with necessary packages.\n\n## Setup and Usage\n1. Create a Conda Environment:\n\n   ```bash\n   conda create --name \u003cenv_name\u003e python=3.11\n   ```\n\n2. Clone the Repository:\n\n   ```bash\n   pip install fx_analytics\n   pip install MetaTrader5 -\u003e required to access MT5 for your historical trade deals!\n   ```\n\n3. To extract all your historical trades data from MT5 Terminal:\n\n   ```python\n   import fx_analytics\n   from fx_analytics.main_functions import ETL\n\n   \n   # replace '****' with your login credential from MT5 terminal!\n   mt5_credentials = {'login': '******', 'server':'******','password':'******'}\n   df = ETL(from_date='2023-09-01', mt5_credentials = mt5_credentials)\n   print(df)\n   ```\n\n4. To use/test the streamlit app from the package: To test app you can download the example data \nwhich was extracted from MT5, download [data](https://github.com/jaybfn/fx_analytics/blob/main/fx_history.csv).\n   - Copy the below code into .py file\n\n   ```python\n   import fx_analytics \n   from fx_analytics.app import main\n\n   main('fx_history.csv')\n   ```\n\n   To Run this file from CLI:\n   ```bash\n   streamlit run {file_name.py}\n   ```\n\n5. To run both ETL to extract your data from MT5 and view the analytics streamlit dashboard\n   - create a python script 'app.py' and copy and past the below code, change the 'from_date' with your desired date and 'data_file_path', where you choose to stores the data extracted from ETL function, I prefer to use a data folder eg: 'data/{file_name.csv}'\n\n   ```python\n   import fx_analytics \n   from fx_analytics.app import main\n   from fx_analytics.main_functions import ETL\n\n   # replace '****' with your login credential from MT5 terminal!\n   mt5_credentials = {'login': '******', 'server':'******','password':'******'}\n   df = ETL(from_date='2023-09-28', mt5_credentials = mt5_credentials)\n   df.to_csv('data_file_path')\n   main('data_file_path')\n   ```\n   To Run this file from CLI:\n   ```bash\n   streamlit run app.py\n   ```\n\n## Output\n   - streamlit app preview:\n   ![picture alt](https://github.com/jaybfn/fx_analytics/blob/main/fx_analytics/streamlit_preview.jpg?raw=true)\n\n## Feedback and Contribution\n- We welcome feedback and contributions! If you encounter any issues or have suggestions, please open an issue. If you'd like to contribute, please create a pull request.\n   \n   \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaybfn%2Ffx_analytics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaybfn%2Ffx_analytics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaybfn%2Ffx_analytics/lists"}