Since 2012, 2,102 traders sent us 3,225 requests with enough text to read. Sorted into 33 needs, the two most common keep about the same share after 2020 as before it. And the request that looks simplest, act on an indicator’s arrow, is where a delivery of ours silently missed alerts for four years, until our own review caught it.
That is the finding in one paragraph. What traders ask a programmer for has barely changed in our sample, and neither has what makes a request custom: combining conditions, and deciding when a signal counts. The second one is where “simple” jobs fail, ours included.
What we counted, and who is in the sample
The data is our own request forms. At barmenteros FX we read 5,315 project folders and kept every request with at least 50 characters of description, minus copies of an earlier request. That left 3,225 unique requests from 2,102 traders. The oldest era in the data starts in 2012.
Each request was sorted into one of 33 need families, such as “automate my own strategy” or “alert me when a setup forms”. AI agents did the sorting. A human review of 20 requests agreed with it on 16.
To check whether a shift belongs to us or to the market, we used a second sample: 1,557 public MQL5 Freelance jobs, sorted with the same families. We count them; we do not quote them.
Two facts shape everything that follows:
- Everyone in our sample came to us seeking custom work. That tells you what people want a programmer for. It does not tell you what they would buy as a ready-made tool.
- The recent years are thin. In 2023-26 only about a quarter of the folders carry usable text, 193 of 760, because more requests now arrive as an attachment or by email.
So every figure below reads “in our sample”.
The four most requested, and the two that have not moved
Four needs lead the list by number of distinct traders:
| Need family | Traders in our sample |
|---|---|
| Automate my own strategy | 657 |
| Automate the signals of an indicator I already use | 283 |
| Extend or change a program I already have | 265 |
| Alert me when a setup forms | 214 |
The first is the trader with rules: entries, exits, session times, standard indicators, sometimes a written specification. The second is the trader with an indicator (their own, free, bought, or available only as a compiled file) who wants its arrows traded. The third changes something that already exists. The fourth wants to stop watching the chart.
The two largest families have not moved. Across all requests, 23% arrived in 2020-26. For “automate my own strategy” the figure is 26%, and for “automate an indicator’s signals” it is 24%: both at or just above the baseline. “Automate my own strategy” also holds its share in the Freelance sample: 21.3% of all jobs, 23.1% of the jobs posted in 2023-26.
What makes a request custom is the combination
Most requests are built from standard parts. What traders want a programmer for is how those parts combine.
These are the components traders asked for most, by distinct traders:
| Component | Traders who asked |
|---|---|
| Initial stop loss and take profit | 418 |
| Their own or a third-party indicator as trigger or filter | 383 |
| Trailing stop | 260 |
| Exit or reversal on the opposite signal | 243 |
| Trading-hours control | 226 |
| Alert in the terminal | 209 |
| Conditions read from another timeframe | 188 |
| Entry and direction filters | 169 |
None of these is exotic. Each is a standard building block of an EA or an indicator.
Look at the indicator and alert families. In our sample, 74% of the indicator requests and 76% of the alert requests could be built from standard components only. Yet each came to us as a request for custom work. The specific combination is what differs from one trader to the next.
In the alert conversations we read in full, 4 of 5 traders wanted to combine conditions or indicators. That is five conversations, so read it as an illustration, not a rate. A trend filter on the higher timeframe, two indicators that must agree, an exit on the opposite arrow: each part is standard.
The “simple” request is where it fails: when does a signal count?
The request that sounds easiest, “trade the arrow” or “alert me when it appears”, hides the hardest question in the job: when does a signal count?
- On the bar that has closed, or on the bar still forming?
- When the program is attached to a chart that already shows an arrow?
- After the terminal restarts?
- When a candle’s body is a fraction of a point?

Traders know this matters. In our sample, 181 traders stated a requirement on signal timing or repainting, and 197 had only the compiled file of the program they started from, with no source code to read.
The conversations we read in full point the same way. In the indicator-signal threads, the support questions that came back were an indicator installed wrongly or under another name, repainting, the closed bar against the current one, and confusion over the log. We explain the closed-bar choice in which bar your EA should read, bar 0 or bar 1.
In the alert threads, several traders wanted the alert the moment the signal appeared, not at the close; how the terminal delivers an alert is covered in our guide to MT4 alerts and notifications. These are five threads per family, so they illustrate, not measure.
We learned the cost of this question on our own work.
In 2022 we built an MT4 alert indicator for a trader. It watches three copies of a free third-party candle indicator, set long, medium and short. When all three candles show the same colour at a bar close, it alerts “open”. At the first bar where they no longer agree, it alerts “close”.
To decide a candle’s colour, the code rounded the candle’s open and close to the symbol’s digits with NormalizeDouble (opens in a new tab), then compared the two. A body smaller than one point can round to two equal prices. That candle counted as neither colour, and any line-up or break that involved it raised no alert. No error, no log line, nothing on the chart.

The trader never reported it. We found it in September 2026, going back over our own past deliveries. The tell was an imbalance in our own baseline run: close alerts outnumbered open alerts, 93 to 72, although the rule pairs them.
Before reading any difference, we built a model of the 2022 code that reproduced every alert the delivered build gave. Only then did we compare it with a version that reads the values unrounded.
On EURUSD M5, over one week (21 to 29 July 2026, every tick, the trader’s own settings), the delivered build gave 165 alerts and the unrounded rule 253. The old build missed 88 and never gave one the unrounded rule would not. The median body of a candle that cost an alert was 0.23 point.
Those figures belong to that symbol, timeframe and week. Small bodies are rarer on higher timeframes, so the miss rate falls there too.
We told the trader, and delivered the fix free as version 1.1 on 23 September 2026. It compares the values as read, keeps every alert the old build gave and adds the missed ones.
The rounding was a display habit applied to a decision. It is also exactly the kind of detail a request never mentions, because it is not part of the strategy. It is part of deciding when a signal counts.
When the platform changes under a working EA
A value that never arrives reads as a signal that never came, and a platform update can produce exactly that.
We built an MT4 EA that trades the changes of a Supertrend indicator the trader supplied compiled, reading it through iCustom (opens in a new tab). Before delivery, the terminal updated itself to build 1491.
On that build, the copy of the indicator the EA reads could start broken, returning an empty value in both buffers and never recovering. In some starts the EA received no events at all. The EA treats a candle with no indicator value as “no direction”, a safe hold, so neither fault produced a wrong trade or a log line. Our pre-delivery demo simply produced no trade, and no warning.
Our EA update shipped with a switch: when the last closed candle has no value in either buffer, the EA reads the indicator again under another form of its name, with one warning line. The delivery note added a check after every terminal or VPS restart: the indicator’s reading on the chart must move on at each candle, and the terminal is restarted if it does not.
One caveat, stated plainly: the cause is measured on one development install, not documented. The MQL4 documentation pages for iCustom and for how programs run mention neither fault, and what in build 1491 causes them is not established.
The one shift both samples agree on: fewer alert requests
One change shows up in both samples: a modest decline in alert requests.
- Our sample: 214 traders asked for alerts. 18% of the alert requests arrived in 2020-26, against 23% of all requests.
- Freelance: alerts were 4.4% of the 1,557 jobs, 69 jobs in all, and 3.5% of the jobs posted in 2023-26.
We can measure that decline. We cannot explain it from these files.
A shift in our sample only counts when the Freelance sample moves the same way. Grid and martingale requests show why: they looked like they were rising in our sample (32% against the 23% baseline), while in Freelance they fell, from 3.2% to 2.6%, so we do not report that rise.
What this sample cannot tell you
The limits matter as much as the counts:
- It is a sample of people seeking custom work. Everyone in it came to us asking for a program built for them. How often a need appears here says why people look for a programmer, not what they would buy for a fraction of the price as a ready-made tool.
- The recent years are thin. 2020-22 has 539 usable requests and 2023-26 has 193. A share in those years moves a lot on a few requests.
- The sorting is automated. AI agents sorted the requests; a human review of 20 agreed on 16.
- Mixed requests sit on borders. An indicator inside a larger strategy, or a martingale on top of an entry rule, could fit two families.
- Attachments were left out. Specifications sent as PDF or Word files, and email threads, were not part of this count.
Four questions to answer before you send a request
If the custom part is the combination, and the failure point is when a signal counts, a request that answers these four questions settles them before the build starts:
- When does a signal count? On the closed bar, or on the bar still forming, and does that differ by timeframe?
- What happens on attach and on restart? If an arrow is already on the chart when the program starts, should it act on it or wait for the next one? A restart has traps of its own, covered in what an MQL4 EA forgets when MetaTrader restarts.
- Which indicator file, exactly? Its exact name, whether you have the source or only the compiled file, and where its signal lives: a buffer, an arrow object or a colour change.
- How do the conditions combine? All of them, any of them, or a set number out of several, and on which timeframes.
These are the details a strategy description leaves out, because they are not strategy. They are what decides whether the program does what you meant. The rest of a good request is in our guide to writing an EA specification that saves you money. And remember what this data is: what traders asked a programmer to build since 2012, not what they would buy off the shelf.

Leave a Reply