{"id":25684702,"url":"https://github.com/kudzaiprichard/ubot-mt4","last_synced_at":"2026-03-01T18:03:39.787Z","repository":{"id":178178734,"uuid":"661111196","full_name":"kudzaiprichard/ubot-mt4","owner":"kudzaiprichard","description":"Meta Trader 4 Expert advisor/ Trading bot ","archived":false,"fork":false,"pushed_at":"2023-10-14T22:22:55.000Z","size":538,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-24T17:41:19.514Z","etag":null,"topics":["bot","mql4","mt4","object-oriented-programming","programming","trading","trading-algorithms","trading-bot"],"latest_commit_sha":null,"homepage":"","language":"MQL5","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kudzaiprichard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-07-01T20:31:19.000Z","updated_at":"2024-03-23T11:23:02.000Z","dependencies_parsed_at":"2023-10-15T19:58:15.164Z","dependency_job_id":null,"html_url":"https://github.com/kudzaiprichard/ubot-mt4","commit_stats":null,"previous_names":["kudzaiprichard/ubot-mt4"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kudzaiprichard/ubot-mt4","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kudzaiprichard%2Fubot-mt4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kudzaiprichard%2Fubot-mt4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kudzaiprichard%2Fubot-mt4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kudzaiprichard%2Fubot-mt4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kudzaiprichard","download_url":"https://codeload.github.com/kudzaiprichard/ubot-mt4/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kudzaiprichard%2Fubot-mt4/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29977969,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T16:35:47.903Z","status":"ssl_error","status_checked_at":"2026-03-01T16:35:44.899Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["bot","mql4","mt4","object-oriented-programming","programming","trading","trading-algorithms","trading-bot"],"created_at":"2025-02-24T17:32:30.293Z","updated_at":"2026-03-01T18:03:39.772Z","avatar_url":"https://github.com/kudzaiprichard.png","language":"MQL5","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/kudzaiprichard/realestate-backend\"\u003e\n    \u003cimg src=\"images/logo/logo.jpg\" alt=\"Logo\" width=\"80\" height=\"80\"\u003e\n  \u003c/a\u003e\n\n  \u003ch3 align=\"center\"\u003eUBot `Expert System`\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    A meta trader 4 trading bot \n    \u003cbr /\u003e\n  \u003c/p\u003e\n  \u003cbr/\u003e\n\u003c/div\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#project-scope\"\u003eProject Scope\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#project-design\"\u003eProject Design\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#acknowledgments\"\u003eAcknowledgments\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n# About The Project\n\n### Project Scope\n\nAn automated trading system (ATS), a subset of algorithmic trading, uses a computer program to create buy and sell orders \nand automatically submits the orders to a market center or exchange.The computer program will automatically generate orders \nbased on predefined set of rules using a trading strategy which is based on technical analysis, advanced statistical \nand mathematical computations or input from other electronic sources.\n\n\n* Should allow users to input parameter properties like stop loss and take profit etc.\n* Expert system should be able to automatically open trades, manage, scale trades and manage trades. \n* Trading bot must also be able to manage trades in terms of trailing profit, scaling position, maintaining long and short trading\n\n## Project Design\n\n### Architecture\n\n\u003cdiv align=\"center\"\u003e \n \u003cimg src=\"images/Automated-trading-system-protocols.jpg\" alt=\"architecture Diagram\" \u003e\n\u003c/div\u003e\n\nTaking all above into consideration, the traditional architecture of the entire \nautomated trading system can now be broken down into:\n\n`The exchange(s)` – the external world\n\n`The server`\n* Receives market data\n* Stores the market data\n* Store orders generated by the user\n\n`Application`\n* Takes inputs from the user initially for the decisions such as stop loss, limits, the preferred financial instrument for trading etc.\n* Acts as an interface for viewing the information including the data and orders\n* Acts as an order manager sending orders to the exchange\n\n\u003cdiv align=\"center\"\u003e \n \u003cimg src=\"images/Algo-trading-system.jpeg\" alt=\"architecture Diagram\" \u003e\n\u003c/div\u003e\n\nThe `market data`, that is received, typically `informs` the automated trading system of the latest order book.\nIt may also contain some additional information like the `volume traded` so far, the last traded price, \nand the quantity of the `trading order`. However, to make a `decision based on the data`, the automated system looks at\nthe old values or `derives certain patterns` from the history. Based on this historical analysis of data and patterns, \nthe system goes forward to create a `trading strategy` and execute the same.\n\nLast but not least, a GUI interface is needed for the trader to view all this information on a screen.\n\n### Built With\nSystem was written in `Meta Quotes 4`, language that is supported by `Meta trader 4`:  \n\n\u003cdiv\u003e\n    \u003cimg src=\"images/logo/mq4.png\" alt=\"spring\" width=\"70\"\u003e\n\u003c/div\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\n\n### Prerequisites\n\nYou should have the below software installed in your pc :\n* Meta Trader 3\n* Meta Quotes 3\n* and your preferred IDE or text editor\n\n### Installation\n\n1. Get a free API Key at [https://github.com/settings/tokens](https://github.com/settings/tokens)\n2. Clone the repo\n\n   ```sh\n   git clone https://github.com/kudzaiprichard/ubot-mt4\n   ```\n3. Inside meta editor click on `file`, and choose `open data folder`\n\n4. `Open mql4 folder`, and copy `Experts/ ubot` mql4 source file to `Experts folder`\n\n5. Copy `Include/Ubot` folder to include folder\n\n6. Copy `indicators/Ubot` folder to indicators folder\n\n7. Close and `open meta editor` then open `ubot mql4 source file` and `run it`\n\n   \u003e NB: An `ubot complied ex4` file program will be created\n\n8. The same complied `ubot ex4 file` will appear in `meta trader 4`\n\n   \u003e NB: Use that complied `ubot file` to run your bot on the market or test it in `mt4 strategy tester`\n\n\n### Usage\n1. Open meta trader 4\n2. Drag and drop the bot in desired chart to run the bot\n3. The following bot `interface` will show \n\n    \u003cdiv align=\"center\"\u003e\n        \u003cbr/\u003e\n        \u003cimg src=\"images/botinterface2.png\" alt=\"report\"\u003e\n    \u003c/div\u003e\n   \n4. Double tap on the `Inputs` tab\n\n    \u003cdiv align=\"center\"\u003e\n        \u003cbr/\u003e\n        \u003cimg src=\"images/botinterface1.png\" alt=\"report\"\u003e\n    \u003c/div\u003e\n\n5. Enter desired `inputs settings` for your bot or import settings and press `ok` button\n6. The bot will then run and will display the interface screen when running successfully\n    \n   \u003cdiv align=\"center\"\u003e\n        \u003cbr/\u003e\n        \u003cimg src=\"images/Screenshot.png\" alt=\"report\"\u003e\n    \u003c/div\u003e\n   \n\u003e NOTE: Bot should display that dashboard at the far right bottom corner\n\n### Results\nBelow is the UML design of the system including relationships between the difference objects that make up the system\n\n\u003cimg src=\"images/report2.2.png\" alt=\"report\"\u003e\n\u003cimg src=\"images/report2.1.png\" alt=\"report\"\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\u003c!--CONTRIBUTING--\u003e\n## Contributing\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n### :fire: Contribution\n\n Your contributions are always welcome and appreciated. Following are the things you can do to contribute to this project.\n\n 1. **Report a bug** \u003cbr\u003e\n If you think you have encountered a bug, and I should know about it, feel free to report it [here]() and I will take care of it.\n\n 2. **Request a feature** \u003cbr\u003e\n You can also request for a feature [here](), and if it will viable, it will be picked for development.  \n\n 3. **Create a pull request** \u003cbr\u003e\n It can't get better than this, your pull request will be appreciated by the community. You can get started by picking up any open issues from [here]() and make a pull request.\n\n \u003e If you are new to open-source, make sure to check read more about it [here](https://www.digitalocean.com/community/tutorial_series/an-introduction-to-open-source) and learn more about creating a pull request [here](https://www.digitalocean.com/community/tutorials/how-to-create-a-pull-request-on-github).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\u003c!-- LICENSE --\u003e\n## License\n\n\u003e Distributed under the MIT License. See `LICENSE.txt` for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\u003c!-- CONTACT --\u003e\n## Contact\n\n\u003e Kudzai P Matizirofa - [linkedin.com/in/kudzai-prichard](https://linkedin.com/in/kudzai-prichard) - \u003ckudzaiprichard@gmail.com\u003e\n\nProject Link: [https://github.com/kudzaiprichard/ubot-mt4](https://github.com/kudzaiprichard/ubot-mt4)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- ACKNOWLEDGMENTS --\u003e\n## Acknowledgments\n\nlist of resources I found helpful and would like to give credit to.\n\n* [Choose an Open Source License](https://choosealicense.com)\n* [What are Expert Advisors](https://www.ig.com/en/trading-strategies/expert-advisors-explained-190312#:~:text=Expert%20Advisors%20(EAs)%20are%20programs,or%20open%20a%20position%20automatically)\n* [Getting Started With MT4](https://www.metatrader4.com/en/trading-platform/help/userguide/open_an_account)\n* [Meta Quotes docs](https://docs.mql4.com/)\n* [GitHub Pages](https://pages.github.com)\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkudzaiprichard%2Fubot-mt4","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkudzaiprichard%2Fubot-mt4","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkudzaiprichard%2Fubot-mt4/lists"}