MT5 Expert Advisors on GitHub: A Pinned Repository Review
Material update: Removed leaked brief/example, unsupported history/audit and safety claims. Corrected compilation and demo-test limits. Added a pinned repository source review with explicitly unperformed execution tests. 15 October 2026: pinned source references rechecked; remaining summary/FAQ and own-product compliance wording corrected while retaining the earlier repository review and explicit unperformed tests.
An MT5 Expert Advisor on GitHub is source code you can inspect, not a trading result you can download. If you want an actual repository rather than a list of strategy names, start with the pinned EA31337 example below. This guide shows the files, dependencies and build questions to check before running anything.
Source references checked on 15 October 2026. The review covers the repository metadata, README, licence, submodule manifest, build file and MT5 entry point. No MetaEditor compilation, Strategy Tester run or forward demo test was performed for this article.
One MT5 repository, with an exact version
EA31337/EA31337 publishes a project for MT4 and MT5. The reviewed source is commit 9b9bd38c4e49dd6916f4fe3936e50e97fca7a692, dated 19 September 2024. This was also the master commit returned when we checked. A fixed reference lets you inspect the same source later; it does not establish current terminal compatibility, security, profitability or support.
| Item | Where to inspect | What the check tells you |
|---|---|---|
| Project scope | README at the pinned commit | The maintainer describes MT4/MT5 support and its own installation workflow. |
| Licence | LICENSE | The repository includes the GNU GPL version 3 text. Read the licence and dependency licences for your intended use. |
| External source | .gitmodules | Framework, indicators and strategies live in separate repositories. The main ZIP alone is not a complete build checkout. |
| MT5 entry point | src/EA31337.mq5 | It includes other files and delegates tick processing. This file is not the complete trading system. |
| Build process | Makefile | The supplied workflow has mode, toolchain and resource requirements. A generic “copy the mq5” instruction is insufficient. |
Download a reproducible source tree
The following Git commands select that commit and initialise its recorded submodules. Review the repository and submodule origins before running them in a working directory you control. They acquire source; they do not compile, test or activate an EA.
git clone --no-checkout https://github.com/EA31337/EA31337.git
cd EA31337
git checkout --detach 9b9bd38c4e49dd6916f4fe3936e50e97fca7a692
git submodule update --init --recursive
git rev-parse HEAD
git submodule status --recursive
Save the output of both version commands with your review. A leading minus sign in git submodule status means a submodule is not initialised; a leading plus means its checked-out commit differs from the parent repository’s recorded commit. Do not use git submodule update --remote when trying to reproduce this source snapshot. See the official Git submodule documentation for these status markers and update options.
Which dependencies are actually recorded?
The parent tree pins the following four code submodules. The separate documentation wiki is also a submodule. These recorded hashes identify source, not an audit of every file.
| Path | Repository | Recorded commit |
|---|---|---|
src/include/classes | EA31337-classes | 35a2814b2543987e3dc33b6ede70e864160df3c1 |
src/indicators | EA31337-indicators | f707f99f2b29a23d90a62b646fb5de67adbb3121 |
src/strategies | EA31337-strategies | 3da76f4bd8d5e8a53a348c525486fd1430de82f2 |
src/strategies-meta | EA31337-strategies-meta | 3ddd3ea23c652679349c3264bedd18bc19670747 |
Follow execution beyond the entry file
In the pinned MT5 file, OnInit() constructs the EA object, applies parameters and initialises strategies. OnTick() passes the symbol tick to ea.OnTick(...). Follow those included components to find the actual signal, order and position logic. The presence of a risk-related parameter does not prove that an account-wide loss limit is implemented correctly.
- Map included files, DLL imports, network requests and file writes.
- Identify which symbols, positions and magic numbers the code may manage.
- Check order responses and the behaviour after rejection, disconnection or restart.
- Check the account’s netting or hedging mode and symbol volume constraints.
- Review loss calculations, reset times and other EAs or manual positions on the same account.
For the API details, use our separate MT5 source-code guide. GitHub stars and forks are popularity signals, not evidence that these checks passed.
From a source review to a test record
Read the pinned project’s build instructions, compile the required files in MetaEditor and keep the compiler log. A produced .ex5 establishes a build artifact, not a profitable or safe strategy. Resolve warnings rather than treating “zero errors” as a full review.
For an authorised demo test, record the terminal build, source and dependency hashes, account mode, symbol specification, input file, interval, data mode, costs and execution settings. Keep the tester report and journal. Reserve an unseen interval before tuning, and document failures as well as favourable runs. MetaQuotes explains the available options in its Strategy Tester documentation. A historical test and a demo run remain different forms of evidence from execution on another account.
Prop firm rules and the separate JPTC service
If a particular programme is involved, check that programme’s current automation permissions, loss formula, reset time and trading restrictions before any use. A source review cannot establish compliance, a challenge pass or a payout. Closing logic can still be affected by gaps, latency and execution failures.
The JPTC Algo is a separate hosted service. JPTC hosts it; customers install nothing, run nothing and need no VPS. This GitHub workflow does not describe that service. JPTC’s broker-statement results are not tests of EA31337.
FAQ
Where can I find an actual MT5 EA repository on GitHub?
The EA31337 repository linked above contains an MT5 entry point and a recorded dependency tree. It is an inspectable example, not a recommendation or a comparison winner.
Does downloading the GitHub ZIP include the dependencies?
The main archive does not supply the contents of the separate Git submodules. Use the recorded submodule workflow and verify their commits.
Is a public GitHub repository automatically open source?
Public visibility and licensing are different. Check the actual licence and the rights covering dependencies; do not infer reuse permission from visibility alone.
Was this EA compiled or backtested for this guide?
No. The work described here is a source-reference review. No compile result, tester performance, forward result or prop-firm compatibility result is reported.
The JPTradingCapital Team develops automated trading software. Our research methodology explains the limits of source reviews and software checks.
Continue with the right technical guide
- Forex GitHub: choose the platform first
- MT5 source code: events, indicators and trade results
- MT4 source code: orders and debugging
Forex & Gold Signals, No Monthly Fee
Entry, stop loss and targets on every trade we take. It costs you nothing: open an account through one of our partner brokers and they cover it for you. You place every trade on your own account.
Join the signals channel