Why AI won't write you a trading indicator
A correctly coded indicator can still be the wrong answer. AI can write the code. It can't tell you whether the data underneath is the data your method was designed for.
// body
Has anyone thought about why it's so hard to build a genuinely useful trading indicator — even now, when AI writes the code for you?
The setup looks trivial. Open cTrader. Open an AI chat. Say "write me an indicator in C#." Done. Ship it.
But — which indicator? What's it supposed to do? How should it look on the chart? How does it calculate, on what timeframe, using tick volume or minute volume? Does it recalculate on every tick or only on candle close? What does it draw when there's no data yet?
If you've never traded, you don't have an answer to any of those questions. And the AI won't give them to you. Because AI writes code. You write the specification. If there's no specification, you don't have an indicator. You have a request.

The first wall — data
Say you've heard the popular thing: traders trade liquidity zones. Logical move — ask the AI to build an indicator that draws those zones. Done?
No.
Liquidity zones are real order-flow data from a broker. Institutional-grade feeds that cost tens of thousands of dollars a month. As a retail trader, you don't have that data. cTrader doesn't have it. TradingView doesn't have it.
So the indicator you ask the AI to build won't "see" liquidity zones — it'll guess at them based on price action, which is a fundamentally different problem. You'll get an indicator called "Liquidity Zones" that shows something else entirely — the same way an SSH terminal built in Electron is called a terminal but behaves like a browser.
This is the technical wall. No data, no indicator. AI can't punch through it.
The second wall — the data isn't what it used to be
Fine. Let's say the data exists. You want a Wyckoff Volume Spread Analysis indicator. Price, volume, spread — all available. The AI can absolutely code that.
I know, because I built it. Wyckoff VSA, sitting in the cTrader marketplace right now — for free.
Here's the part that took me a while to understand: the code is correct. The specification was correct. The math behind VSA is correctly implemented. And the indicator still doesn't deliver what Wyckoff's method promised.
Why?
Because Wyckoff developed VSA reading the NYSE tape in the 1900s-1930s. The tape showed him every individual transaction. The volume he saw was real volume — actual contracts changing hands on a centralized exchange. The spread was the spread. He could watch specific operators accumulating or distributing positions in real time. VSA patterns — no demand, no supply, climax volume, effort vs result — were formulated against that data.
What you have in cTrader is not that data. Forex is decentralized. There's no consolidated tape. The "volume" you see is tick volume — the number of price changes, not the number of contracts. It's a proxy. Spread is set by your broker, not by the market. Institutional flow happens elsewhere — banks trading with each other on platforms you'll never see.
And if you're on a demo account — which most retail traders are — it gets worse. Demo data on FTMO, BlueGuardian, or any prop firm isn't even your broker's live feed. It's a simulation. Sometimes filtered, sometimes delayed, sometimes synthetic. You're running an indicator built for one kind of market on a simulation of a different kind of market.
The indicator calculates VSA patterns correctly. They just don't mean what they meant in 1925. The math is right. The signal is gone. What's left is noise — and the longer you stare at it, the more you start adapting to that noise, mistaking your own pattern-matching for the indicator's signal.
This is the deeper version of the methodological wall. It's not that the AI picked the wrong formula. It's that I picked a formula formulated against a market that no longer exists in the form retail traders can see. AI can't catch that. I couldn't catch it either — not until I'd shipped the indicator and watched it not work the way it should have.
That's worth saying clearly: a correctly specified, correctly coded indicator can still be the wrong answer, if the data you're feeding it isn't the data the method was designed for. AI doesn't know that. You only learn it by shipping the thing and watching it disappoint you.
Why this matters beyond trading
I've shipped 15 indicators for cTrader and over 50 Pine scripts for TradingView. All of them built with AI. None of them could have been built by AI alone.
Not because the AI is "weak" or "can't code." Because between "I want an indicator" and "here's the indicator's code," there's a thick layer of expertise:
What the indicator should actually show
How to interpret what it shows
Which parameters matter and which are noise
Which edge cases break the logic
Which markets it works on and which it doesn't
What to do when the market changes regime
That layer doesn't materialize out of nothing. It comes from hours on a demo account, from books read, from trades lost, from mistakes you learned to stop making. The AI hasn't been through any of it. You have.
A note on my own credibility here
I should be honest about something, because it's the heart of this whole post.
I'm not a profitable trader. I've been at this for years, I've tested hundreds of systems, I've run prop firm challenges (FTMO, BlueGuardian) — and I still catch falling knives. My P&L over a long enough window isn't a flex.
But that doesn't disqualify me from writing indicators. It almost qualifies me more. Because I've felt the pain of every kind of trader: the breakout chaser, the mean-reverter, the volume profiler, the price action purist, the news scalper. I've used every kind of indicator. I know which ones lie, which ones lag, which ones look smart and do nothing.
That's the spec writer's job — knowing what's broken about every existing tool, and being able to describe what would be less broken. You don't need to be Buffett to do that. You need scar tissue.
The same pattern in any specialized field
Swap "trading" for "medicine," "law," "chemistry," "structural engineering." Same structure:
AI writes the code / the text / the formula / the contract
You give the specification
If you're not the expert, you don't have a specification
Without a specification, the result will be plausible but wrong
That word — plausible — is the dangerous one. AI generates things that look like what you asked for. The indicator looks like an indicator. The legal brief looks like a legal brief. The medical summary looks like a medical summary. Only the expert can see that inside, there's nothing.
And in some cases — like my VSA indicator — even the expert only sees it after shipping. The code looks right, the math looks right, the patterns look right. It's only when you put it on a live chart and try to trade with it that you realize the data underneath isn't what the method assumed. AI can't catch that. The expert can, eventually. The non-expert never will.
So what's actually happening when I "use AI" to build indicators
When someone asks "how do you build indicators with AI?" — I have a short answer and a long answer.
Short: I tell the AI what to write, the AI writes it, I fix what's wrong.
Long: I've spent years inside trading platforms. I know HVN, LVN, VAH, VAL, POC. I have my own taxonomy for market structure — Spike, Sharp, Soft, Cup, Flat — that I developed because the standard ones didn't match what I was seeing. I know why OBV gives false signals in consolidation, which is why I cut it from my own system after testing it. I know my best trades have always been clean price action entries — and the more indicators I added, the worse my P&L got.
All of that is specifications. Each piece is something I can hand to an AI as constraint, as direction, as "no, not that — this." Without that layer, I'd just be generating beautiful, useless code.
Expertise isn't just knowing the method. It's knowing the data the method was designed for, the data you actually have, and whether the two match. AI can help with the first part. Everything else is on you.
AI doesn't write indicators. AI writes code to a specification. Specifications come from people who've spent time in the thing.
If you're not in the thing — you don't have an indicator. You have a request.