I Built a Trading Robot in One Weekend (and It Survived) — Publishing My First MQL5 Product

VitalEdge Gold EA live on the MQL5 Market

My product page, live on the MQL5 Market, September 2026.

The video version of this story, now live on my YouTube channel.

It was just after midnight on Monday when I saw my trading robot pass its final test. Not a backtest on my own computer, where I control everything — the real test. The MQL5 Market validation server, running my code on symbols I had never tried, on a balance I had never imagined. The log stopped scrolling. The word PASSED appeared four times. And I just sat there in the dark thinking: I built a trading robot, and it works.

This is the story of the VitalEdge Gold EA — the trading robot I published on the MQL5 Market this week, how it nearly died four times in one night, and why publishing it felt different from everything else I have done in this journey.

Why a Trading Robot?

I need to be honest about something first, because this diary only works if I tell the truth. I did not write every line of that robot's code by hand. I wrote it with AI assistance — my agent and I built it together, iterating version by version. But here is what I have learned about AI over this past year: it can write code, but it cannot want anything. It does not wake up at midnight worried about a validation error. It does not decide that a $69.99 price is right, or that $50 would be selling myself short. It does not feel the difference between a robot that trades and a robot that survives contact with a broker's worst conditions. Those decisions, and everything they cost me, were mine.

The idea itself came from my own trading. I have been trading gold on and off for years, on an Exness account, and I know the XAUUSD chart better than almost any other picture on the internet. Gold is liquid, gold moves, and gold punishes emotion. I had a set of rules I traded by hand — trend filters, candlestick patterns, strict stops — and the classic question hit me: if my rules work, why am I the one executing them at 2 AM when a machine could do it without blinking?

So the strategy became the product. A multi-factor trend engine that measures momentum, moving average alignment, and market structure. A candlestick pattern system on top — engulfing candles, pin bars, morning and evening stars. Every trade with a fixed ATR-based stop loss and take profit, sized to volatility instead of a lazy fixed number of pips. One position at a time. No martingale, no grid, no recovery nonsense. An equity guard, a daily loss limit, and a spread filter for when the broker conditions turn hostile. Nothing revolutionary — just discipline, automated.

The Night of Four Errors

Then came the validation gauntlet, and this is the part of the story nobody sees when they look at a finished product page. Publishing on the MQL5 Market is not like posting a blog. Before your product goes live, MetaQuotes runs your code on their own servers, on multiple symbols and timeframes, including accounts with almost no money. If your robot misbehaves even once, it fails.

My first failure was a single line: unsupported filling mode. My robot was sending orders with a filling type that the test broker did not support. The fix sounded simple — detect the supported filling mode instead of hardcoding one — but every fix means recompiling, re-uploading, and waiting for another validation run to see if you have actually fixed it or just moved the failure somewhere new.

Failure two: invalid stops. My stop loss calculation had an absolute floor baked into it that made sense for gold at $2,600 and complete nonsense for a currency pair. A number that protected one symbol sabotaged another. The fix was to make everything proportional to price, so the same logic scaled across symbols like a strategy should.

Failure three: invalid volume. This one was humbling. The validation server tested my robot with lot sizes so small I had never considered them — minimum volumes that round differently per symbol, per broker. My order sizes were being rejected because I had never normalized them against the symbol's rules. So I added volume normalization: check the minimum, the maximum, the step, round to the grid, and clamp. Boring, meticulous, and exactly the difference between code that works on my chart and code that works everywhere.

Failure four nearly ended the night: not enough money. The validation server runs your robot on an account with a tiny balance — the kind of account a broke beginner in South Africa would actually have. And my robot, designed when I was imagining funded accounts, tried to open positions that account could not margin. The fix became version 3.5's signature feature: a pre-trade margin check that refuses any position the account cannot afford, and lot sizes that floor instead of rounding up, so the robot protects small accounts instead of blowing them. I did not plan that feature. The validation server demanded it. And honestly, it made the product better for exactly the kind of trader I was when I started.

Version 3.2 failed. Version 3.3 failed differently. Version 3.4 got further. Version 3.5 passed everything — 104 trades on EURUSD H1, 81 on XAUUSD D1, 162 on GBPUSD M30, with zero errors and zero violations. I watched those numbers come in on Sunday night and Monday morning, September 28 and 29, 2026, and I do not think I have ever been so happy to see a robot open a trade.

The Publishing

Publishing should have been the easy part. It was not. The final step has two checkboxes hidden behind a rules agreement window, and the OK button would not enable until both were ticked. I stared at that window longer than I want to admit before finding the second checkbox. Then the control panel banner changed: Published.

My robot is live. You can find it by searching the MQL5 Market for VitalEdge Gold EA. It sells for $69.99, a price I chose deliberately — high enough to signal that this is a serious tool, low enough that a working trader can make it back in a week of disciplined trading. When the first copy sells, roughly $56 lands in my MQL5 account after MetaQuotes' cut. Eighty percent to me for something I created from nothing but an idea, a strategy I traded by hand, and a lot of stubborn nights.

The Part I Cannot Afford Yet

Here is the ironic ending. The single best thing I could do for sales is publish a live trading signal — a public, real-money account where anyone can watch the robot trade before they buy it. I went through the whole setup process, reached the registration form, and discovered the rule: signals require a real account. A funded one. Minimum ten dollars to open the trading account in the first place.

I do not have ten dollars to spare right now. That is not me being dramatic — that is the reality of month one of a business that is still finding its first revenue. So the signal waits. And when the first sale lands, the $56 in my MQL5 balance will fund the live account without touching my bank. The product will pay for its own proof. I like that plan better anyway.

In the meantime I did the free version of the same thing: a two-minute video for my YouTube channel showing what the robot is and how it works, with the listing link in the description. It is not a live track record, but it is a door. People cannot buy what they cannot see.

What This One Taught Me

I have made money from affiliate links, from a digital starter pack nobody bought, from a store that carries other people's products. This week, for the first time, I put a machine I built on a global marketplace, priced it myself, and watched it survive a testing regime designed to break it.

The lesson I want to remember from this one is about validation in both senses of the word. The robot passed technical validation because every failure made it stronger — filling modes, stops, volumes, margins. And I passed a personal kind of validation too, the kind that matters when you have been told your dreams are too big: I set out to make something people anywhere in the world might pay for, and now it exists, and it is live, and nobody can take that back.

No sales yet. No signal yet. But somewhere out there, my robot is waiting for its first customer, and I am building toward the day it finds one. If you have read this diary for a while, you know the pattern by now. Nothing works, then something works, then I write about it here.

Something worked this week.

Comments

Popular posts from this blog

One Year In: Still Small, Still Going — Here's Why

The Instagram Shadowban: Posting Into the Void

The Day the Whole World Could Open My Website — Except Me