Oceanus
- Experts
-
Minh Truong Pham
Hello, my name is Pham and I am a programmer and trader! At here, I create amazing forex indicators and expert advisors for Metatrader.
I will try:
+ Provide best tools base on my 5 years experience as a trader and 10 years as a programmer. - Versione: 1.27
- Attivazioni: 15
Oceanus is a machine-learning Expert Advisor for XAUUSD on the M1 timeframe. Backtest on real ticks, Jan 2024 to Sep 2026: $2,000 grew to $3,819 at a fixed 0.01 lot, 74.5% win rate, max drawdown 9.8%. Stop loss on every trade. No martingale, no grid.
Live signal (real account, fixed 0.01 lot, running since October 1, 2026): https://www.mql5.com/en/signals/2394298
One symbol, one chart, attach and go.
Most gold scalpers on M1 trade all day, every day, and spread plus commission slowly eat whatever edge they had. Oceanus is picky. Two machine-learning models run inside the EA, read the gold tick stream every minute, and decide when the market is worth trading.
Most of the time the answer is no. So it waits.
When the answer is yes, it trades fast and manages the position hard.
At a glance
| Symbol / timeframe | XAUUSD, M1 |
| Backtest, Jan 2024 - Sep 2026 | +$1,819 at 0.01 lot from $2,000 (+91%), max drawdown 9.8% |
| Full history, Jan 2022 - Sep 2026 | +$1,848 at 0.01 lot, 6,175 trades, 4 years in profit, 2022 break-even |
| Win rate | 74.5% |
| Profit factor | 1.14 (2024-2026), 1.22 in the MT5 Strategy Tester |
| Risk control | Stop loss on every trade, no martingale, no grid |
| Minimum deposit | $2,000 per 0.01 lot ($50 on a cent account) |
| Account | Raw spread / ECN recommended |
Key features
- Two ML models inside the .ex5. Trained on tick-level features, exported to ONNX, checked every minute. No DLLs, no internet, no outside server.
- Selective. The models decide when Oceanus may trade. Quiet market, no trade.
- Buys and sells. It isn't a one-way bet on gold going up.
- Fast profit protection. Stop loss from the moment the order opens, a quick move to breakeven (set slightly in profit, so it covers commission), then a trailing stop that only tightens.
- Time limit on every trade. Positions that don't perform within a set window get closed. No trade is left open for days hoping it comes back.
- One position at a time.
- Live status panel on the chart, so you always know whether Oceanus is waiting or ready.
- Restart-proof. After a terminal restart or VPS reboot it picks its open trade back up and carries on.
Backtest results
Raw tick data, XAUUSD, raw-spread account. Real spread from every tick, commission included, fixed 0.01 lot. The screenshots above show January 2024 to September 16, 2026: 4,684 trades.
| Year | Gold that year | Result (0.01 lot) |
|---|---|---|
| 2022 | Choppy, rate hikes | break-even (-$0.32) |
| 2023 | Quiet range | +$29 |
| 2024 | Rally starts | +$74 |
| 2025 | Strong trend | +$654 |
| 2026 (to Sep 16) | Big swings | +$1,090 |
See the pattern? The more gold moves, the more Oceanus makes. 2025 and 2026 were the busiest years for gold in a long time, and they're the EA's two best years. In calmer years it protected the account and stayed near flat. That's the behavior I wanted.
Three out of four trades close in profit (74.5%). Plenty of those are small, locked in by the breakeven, and the bigger winners come when gold actually runs. Best trade in the period: +$50.48 at 0.01 lot.
Confirmed in the MT5 Strategy Tester. I ran the EA itself on every real tick, March to May 2026: 888 trades, +$674 at 0.01 lot, profit factor 1.22. The trade count matched my research simulation within one trade. What you see in the research is what the EA does.
Costs. Screenshot 5 adds up to $0.10 extra cost to every single trade (wider spread, commission or slippage). Profit factor stays above 1.10 the whole way.
With growth. The EA uses a fixed lot, so you choose when to step up. In my simulation, raising the lot by 0.01 for every $1,000 of balance took $10,000 to $39,511 over 4.7 years, with a max drawdown of 22.5% (closed trades).
How it works
I'm not publishing the recipe. You'll understand why. What I can tell you: the ML layer decides timing, the entry logic decides direction, and the trade management decides how much of the move you keep.
Most of the work went into making the EA match the research exactly. The models inside the EA give the same answers as my Python originals down to the seventh decimal place, minute by minute. Honestly, that part took longer than the strategy.
Requirements and recommendations
- Symbol: XAUUSD (any suffix your broker uses). Timeframe: M1.
- Deposit: $2,000 per 0.01 lot for normal risk (about 10% max drawdown in my tests). $50 on a cent account with low gold costs.
- Account type: raw spread / ECN with low commission. My tests averaged about $0.12 all-in per 0.01-lot trade. On a standard account with wide gold spreads, run a quick backtest on your broker's ticks first.
- Leverage: 1:100 or higher.
- VPS: strongly recommended, close to your broker's server. Entries are market orders, so lower latency means better fills.
- Broker: must allow frequent stop-loss modifications. The trailing stop updates the SL many times a day.
To grow faster, add 0.01 lot per $1,000 to $2,000 of balance, depending on how much swing you're comfortable with. I left out "% risk per trade" sizing on purpose: I tested it, and for this system fixed lots gave about the same profit with much smaller drawdown.
Quick setup
- Open an XAUUSD M1 chart and attach Oceanus.
- Set InpServerUtcH to your broker's server time minus UTC (0 if the server runs on UTC). Please don't skip this one.
- Set InpLots (0.01 per $2,000).
- Leave InpModels = Live for real trading.
- Enable Algo Trading. On start the EA loads about two weeks of tick history, give it a moment.
Backtesting: set InpModels to Exam, use "Every tick based on real ticks", and start the test at least 16 days before the period you want to see (the EA needs that history to warm up). The Exam models were trained only up to the end of 2025, so a 2026 backtest is a true out-of-sample test. That's the one I'd look at.
Main parameters
| Parameter | Default | What it does |
|---|---|---|
| InpLots | 0.01 | Fixed lot size |
| InpModels | Live | Live = trading, Exam = backtesting |
| InpServerUtcH | 0 | Broker server time minus UTC, in hours |
| InpWarmupDays | 16 | Days of tick history loaded at start |
| InpMagic | 77110 | Magic number, change it if you run other EAs |
| InpDeviationPts | 50 | Maximum slippage in points |
| InpShowPanel | true | ML status panel on the chart |
| InpLogCSV / InpLogSlippage | true | Trade log and slippage log in Common\Files\Oceanus |
| InpDrawRange / InpDrawArmLabels | true | Draw signal levels and signal time on the chart |
FAQ
Which symbol and timeframe? XAUUSD only, on the M1 chart. The ML models were trained on gold and nothing else.
Do I need to change any settings? Two of them: your lot size and your broker's UTC offset (InpServerUtcH). Leave the rest at default.
Why didn't it trade today? Probably because the models didn't like the market. Quiet days can have no trades at all, busy days a dozen or more. The panel on the chart shows the current status.
Can I use it on a prop firm account? It uses a stop loss on every trade and holds one position at a time, which most prop firm rules like. It has no built-in daily loss limit, though, so check your firm's rules and size the lot accordingly.
Does it work with any broker? Any broker with XAUUSD on MT5 works technically. For best results use a raw-spread / ECN account with low gold costs, and run a backtest on your broker's own ticks before going live.
Is a VPS required? Not required, but I'd use one. The EA trades on M1, and market orders fill better when your terminal is close to the broker.
Updates and support
Updates are free for buyers. I watch the live account and the slippage log every week, and every new version is re-tested on the full tick history and in the MT5 tester before release.
Questions about setup, brokers or lot size? Message me here on MQL5. I answer every message.
Risk warning: trading gold and CFDs carries a high level of risk. Past performance does not guarantee future results. Test on a demo account first and trade only money you can afford to lose.
For more information about the backtest please read this link
