WhitmanTrading

Expert Advisor: The Curve You Cannot Check

An expert advisor is a program that runs inside a trading platform, watches the market and places orders without a person present. Two very different objects share the name: one you wrote yourself, and one you bought with an equity curve nobody outside the seller can verify.

How it works

An expert advisor is a program that trades the account for you. It sits inside the trading platform, reads price as it arrives, and sends orders under rules written down in advance.

A candlestick chart of the site's shared price history. The headline on the chart reads: A program that trades the account for you.
A program that trades the account for you. Illustrative chart - not real market data.

The term comes from one platform and stuck. MetaTrader called its automation scripts expert advisors; elsewhere the same object is a trading bot or plain automated trading.

A gently rising stretch of the long price series with an account equity curve beneath it. The headline on the chart reads: The term comes from one platform and stuck.
The term comes from one platform and stuck. Illustrative chart - not real market data.

Writing one is worth doing even if it never trades live. Code will not accept a vague rule, so every ambiguity that survived in a discretionary method becomes an exact condition or is dropped.

A calmly advancing stretch of the long price series with a slowly rising equity curve beneath it. The headline on the chart reads: Writing one forces every vague rule to become exact.
Writing one forces every vague rule to become exact. Illustrative chart - not real market data.

The one you wrote and the one you bought

A bought program arrives with a curve you cannot check. The code is usually compiled and unreadable, the test behind the curve is not reproducible, and the account is a screenshot. Some sellers are honest; the curve cannot tell you which.

A flat, quiet stretch of the long price series with a gradually rising equity curve beneath it. The headline on the chart reads: And a bought one comes with a curve you cannot check.
And a bought one comes with a curve you cannot check. Illustrative chart - not real market data.

Most sold ones survive by adding to losers. A program that doubles its position after each loss, a martingale or a grid, produces a beautiful curve for months and then returns the whole account in one afternoon. The smooth curve is the warning, not the evidence.

A strongly rising stretch of the long price series with an account curve that breaches its drawdown limit. The headline on the chart reads: Most sold ones survive by adding to losers.
Most sold ones survive by adding to losers. Illustrative chart - not real market data.

It has to run somewhere, and your laptop is not that place. A machine that sleeps, restarts for an update or drops its connection leaves an open position with nobody watching. A small hosted server is the practical answer.

A choppy, directionless stretch of the long price series. The headline on the chart reads: It has to run somewhere, and your laptop is not that place.
It has to run somewhere, and your laptop is not that place. Illustrative chart - not real market data.

In practice

An unwatched program fails quietly and keeps trading. A broken feed, a rejected order or a renamed symbol will not announce itself, so somebody must read the account daily.

A declining stretch of the long price series. The headline on the chart reads: An unwatched program fails quietly and keeps trading.
An unwatched program fails quietly and keeps trading. Illustrative chart - not real market data.

It pays the spread on every order it ever sends. A rule that trades often can be right about direction and still finish behind, so cost belongs inside the backtesting.

A 72-bar candlestick section of the shared price history with an account curve shown with and without fees. The headline on the chart reads: It pays the spread on every order it ever sends.
It pays the spread on every order it ever sends. Illustrative chart - not real market data.

And it will keep trading when nobody else is. Thin volume hours widen the spread and thin the book, and a program with no clock takes those fills happily.

A candlestick chart with a volume histogram beneath it, with the volume histogram emphasised. The headline on the chart reads: And it will keep trading when nobody else is.
And it will keep trading when nobody else is. Illustrative chart - not real market data.

Months of live results beat any backtest. Forward testing on a demonstration account is slow and boring, and it is the only stage that shows the program meeting real spreads and real gaps.

A long-horizon candlestick view of the same price series. The headline on the chart reads: Months of live results beat any backtest.
Months of live results beat any backtest. Illustrative chart - not real market data.

A weekend gap is where the martingale ends. An opening gap prices straight through the level the program was waiting for, and in forex it lands while the platform is shut.

A candlestick series containing several opening gaps, with the largest opening gap marked. The headline on the chart reads: A weekend gap is where the martingale ends.
A weekend gap is where the martingale ends. Illustrative chart - not real market data.

So a hard stop in the code is not optional. The stop loss belongs at the broker, not only in the program’s memory: if the program dies, its intentions die with it.

A declining stretch of the long price series, with the entry price and the level at which a stop would trigger drawn as horizontal lines. The headline on the chart reads: So a hard stop in the code is not optional.
So a hard stop in the code is not optional. Illustrative chart - not real market data.

Every round trip costs 2% of a bar. Entry and exit together consume about two per cent of a median bar’s range here, which is small per trade and not small across hundreds of them.

A candlestick chart of the site's shared price history, annotated with the round-trip cost. The headline on the chart reads: Every round trip costs 2% of a bar.
Every round trip costs 2% of a bar. Illustrative chart - not real market data.

Checking one you did not write

Ask for a long live record on a real account, not a backtest. A strategy tester result describes the past, and a setting tuned until that past looks perfect is overfitting with a sales page attached.

Then look for one behaviour in particular: does it hold a loser and add to it? If positions grow while price moves against them, the curve you were shown has not met the day that ends it.

Measure the worst drawdown against the account you would actually fund. A fall that looks survivable on a large test balance can close a small live one, especially with leverage multiplying the same move.

Then run it small and live for months. There is no shortcut around that, and a seller who tells you the demonstration period is unnecessary has told you what you needed to know.

What an expert advisor is not

When it fails

In a range the grid sellers look like geniuses. A program that fades every move is paid for doing so while price oscillates, and the account curve climbs in a straight, convincing line.

A sideways, range-bound candlestick series. The headline on the chart reads: In a range the grid sellers look like geniuses.
In a range the grid sellers look like geniuses. Illustrative chart - not real market data.

The original data

The counts come from research/broker-coverage.json, a scan of the 31,760 videos in research/search-study-corpus.jsonl. “Expert advisor” appears in 9 titles from 5 channels, median 11,637 views, maximum 323,870.

The generic names are far more crowded. “Trading bot” has 109 titles from 77 channels, median 9,739 and maximum 1,097,422; “automated trading” 43 titles, median 11,143; “algorithmic trading” 97 titles, median 5,184.

Two of them barely exist. “Strategy tester” has 9 titles from 4 channels at a median of 52,868 views, “overfitting” has 2 at a median of 299, and “risk of ruin” has none.

The price figures come from research/series-measurements.json, produced by site/measure_series.py. On the shared 576-bar history a round trip costs 0.0098 price units, 45% of the smallest bar, and 95% of bars sit below a prior peak, the longest such stretch 73 bars.

A strongly rising stretch of the long price series, cut short at the decision bar. The headline on the chart reads: Nine months of smooth gains. Run it live?
Nine months of smooth gains. Run it live? Illustrative chart - not real market data.

The absence is the finding. Across 31,760 titles, “trading bot” and “automated trading” together account for well over a hundred videos, and “risk of ruin” appears zero times.

The published conversation describes what the program does, never the probability that it empties the account. That silence is the number a martingale or grid program needs you not to ask for. Write down the longest losing streak yours can survive at your account size, and do not fund it until the seller states that number too.

Trading bot is the same object under the name most of the internet uses. Strategy tester is the tool that produced the curve you are being asked to believe. Algo trading is the wider field this sits at the retail end of.

What I actually do

I have been sent a lot of these over the years, and the picture attached is always the same: a curve that climbs and barely dips. What I have never once been sent is the trade history behind it, which is the only part that would tell me anything. The ones I ran myself were valuable mostly for what writing them taught me about my own rules. If somebody will not show you the losing weeks, they are not hiding a secret, they are hiding the losing weeks.

— Michael Whitman

This page is educational, not financial advice. Test every idea on your own charts before risking money.