In his article, the author mentions a certain Shtenco AI V17 advisor, which isn’t linked to the article (?). Is this the latest version of the article, incorporating all the clarifications?
Good afternoon, colleagues!
A very interesting solution and direction for development. But I have a couple of questions.
Evgeny, whilst running, the expert advisor only opens positions on the chart on which it is running. It does not pull in other symbols from the Market Watch. Also, the article describes functions that I could not find either in the expert advisor’s code or in the script’s code. For example, I didn’t see the InitPairs() function anywhere, nor did I find an implementation of the BATCH function. Furthermore, it’s unclear what response the model is supposed to return if it fails to find a signal to enter the market. In fact, in this case, I get the following error: ERROR: 'NoneType' object has no attribute 'strip'.
My initial impression is that the ‘wrong’ versions of the files have been attached to the article. I would very much like to clarify this issue.
Thank you )
A very interesting solution and direction for development. But I have a couple of questions.
Evgeny, whilst running, the expert advisor only opens positions on the chart on which it is running. It does not pull in other symbols from the Market Watch. Also, the article describes functions that I could not find either in the expert advisor’s code or in the script’s code. For example, I didn’t see the InitPairs() function anywhere, nor did I find an implementation of the BATCH function. Furthermore, it’s unclear what response the model is supposed to return if it fails to find a signal to enter the market. In fact, in this case, I get the following error: ERROR: 'NoneType' object has no attribute 'strip'.
My initial impression is that the ‘wrong’ versions of the files have been attached to the article. I would very much like to clarify this issue.
Thank you )
Vladimir Levchenko enter the market. In fact, in this case, I get the following error: ERROR: 'NoneType' object has no attribute 'strip'.
My initial impression is that the ‘wrong’ versions of the files have been attached to the article. I would very much like to clarify this matter.
Thank you )
Hello! I’ll update the files to the latest versions)
My initial impression is that the ‘wrong’ versions of the files have been attached to the article. I would very much like to clarify this matter.
Thank you )
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Check out the new article: How to Connect an LLM to an MQL5 Expert Advisor via a Python Server.
Anyone who has ever tried to integrate a large language model into MetaTrader 5 will, sooner or later, run into the same roadblock. I’d like the AI to monitor the chart in real time, calculate indicators, identify patterns, and generate meaningful signals—not just once every five minutes, but for real, across a portfolio of 8–10 instruments at once. The latency should be 3–7 seconds at most, API costs shouldn’t eat up the deposit in a week, and the OpenRouter or Anthropic key shouldn’t be sitting exposed in the Expert Advisor’s code and show up in any leak.
But in reality, it all breaks on three things at once. First of all, MQL5 isn’t Python: there’s no proper WebSocket support out of the box, no asynchrony, and no threads—a single long request, and the entire Expert Advisor hangs while waiting for a response from the model. Second, free APIs quickly hit their limits: 10–20 requests per minute—and on the M15 timeframe across eight currency pairs, you’ll be getting HTTP 429 rate-limit responses within half an hour. Paid tiers solve the problem, but the price skyrockets. Third, where should I put the API key? Hard-code it, and sooner or later it will leak. Pass it via parameters—slightly better, but still insecure.
In the end, a great idea gets bogged down in a technical quagmire: either a demo script on a single pair, a blocking monster, a blown budget, or a compromised key. We need a different architecture—one where MetaTrader 5 remains merely a data transport, while all the heavy lifting, all the logic, and all the secrets live outside it.
Author: Yevgeniy Koshtenko