Lessons from a folder with 40 versions of the same trading robot
There is a folder on my laptop called mql5_scripts. It
contains about forty compiled MetaTrader expert advisors with names like
v4.ex5, hedged - Copy.ex5,
v5 hedged both direction.ex5, v6 exact.ex5, and
my personal favourite,
3-11-25(kinda worked perfectly).ex5.
I opened it recently looking for one specific version and couldn't tell you which of the forty it was. That folder is a fossil record of about a year of learning algorithmic trading, and it turns out the fossils have lessons in them that the profits never did.
Lesson 1: "kinda worked perfectly" is a full risk report
That filename is funnier than any joke I could write, because I know exactly what past-me meant: it made money in the backtest and on a demo account for a while, and I did not understand why, and I could feel that I didn't understand why. "Kinda worked perfectly" is what an edge looks like when it's actually a market regime. The EA worked until the market changed character, then it didn't, and because I never knew why it worked, I got no warning.
If you can't explain what has to be true about the market for your strategy to profit, you don't have a strategy. You have a coincidence with a filename.
Lesson 2: the martingale phase is a rite of passage
The folder contains martingale june20.ex5,
changed_martin.ex5, and a whole family of "hedge" and
"grid" variants — doublehedge, HedgeGridEA,
supertrend_hedge. Every self-taught algo trader apparently
has to walk through this valley personally, because the equity curves are
the most beautiful lies in trading: months of smooth gains, because the
system hides its losses by doubling down on them, until one trending week
hands back everything at once.
Nobody talks you out of it with words. What talked me out of it was watching a backtest's drawdown chart on a long enough history. The smooth curve has a cliff in it somewhere. It always does — the doubling math guarantees that a long-enough losing streak arrives eventually, and when it does, position sizes have grown to catastrophic. I keep those files as a vaccination record.
Lesson 3: filenames are not version control
The programming lesson is more embarrassing than the trading one.
v4, v40.02lotsizinf, Claude_fixed,
Claude newer, HedgingEA_v4 (1) — I was running
real money decisions on files whose lineage I could not reconstruct.
Which change made v5 better than v4? No idea. Was
hedged - Copy before or after hedged_v3? The
timestamps disagree with the names.
When I moved to web development, git felt like a revelation for exactly this reason. Every one of my current projects — the games, the bots, this site — has history I can walk backwards line by line. The forty-file folder is what happens without it. If you're writing MQL5 today: the source files are just text. Put them in a repo. Compiled binaries with cute names are where knowledge goes to die.
Lesson 4: the iteration was still worth it
Here's the thing though — I don't regret the folder. Somewhere between
EMA_Cross.ex5 (a moving-average crossover, the "hello world"
of trading bots) and the later files that watched volume pressure and
liquidity sweeps, I learned to read a chart programmatically, handle
broker quirks, survive requotes and slippage, and send myself Telegram
alerts when something fired. Forty bad versions is what learning actually
looks like from the inside. The mistake wasn't iterating — it was
iterating without writing down what each iteration was for.
These days the trading experiments are paper-mode and the lessons go in a notes file (or a blog post). The folder stays, though. Everyone should keep one folder they're slightly ashamed of, just to measure against.