Introduction
My name is Artem Khafizov. I've been in trading since 2008 and programming in MQL since 2011. I develop turnkey trading systems for MetaTrader 4/5.
I use my own proprietary framework, which helps shorten development time and reduce the risk of errors. If source code is required, I write everything from scratch.
I value a clear technical specification and quick feedback. I implement what the client needs and take responsibility for the technical correctness of the code — so that it runs without errors and behaves exactly as described in the specification. The trading effectiveness of a strategy is assessed by the client: I don't promise profitability, I build tools.
What I do
Writing indicators and scripts for MT4/MT5. Refining and fixing existing ones. Source code is provided.
You receive a ready-to-use .ex5 file for the terminal. The source code remains with the developer.
One-off development for a specific task. Code is written from scratch, without the framework. Exclusive rights transfer to the client.
A code base is created, then a strategy is implemented on top of it. Fast release of new versions and robots. Long-term cooperation.
Portfolio
The EA is installed on the chart of any instrument, but trades 4–6 symbols simultaneously, specified in the settings. The charts of these instruments don't need to be open — the robot fetches quotes itself, performs analysis, and independently manages positions for each symbol. Inside is a unified architecture where each instrument is serviced by its own logic: its own signals, its own risk management, its own trailing stop. Robots of this class have been running in the client company's live trading for several years.
Swing extremes indicator for MT5. Unlike Bill Williams' standard fractals, it discards consecutive same-type signals and keeps only the significant ones: between two upper ones — the highest, between two lower ones — the lowest. The output is an alternating sequence of upper and lower extremes, convenient for swing marking and building "level to level" strategies. The number of confirming candles is configurable.
A mechanism where the robot periodically polls the server and checks whether a new version has been released. If an update is available, it downloads it and restarts on the chart without user intervention. Positions and state are preserved. Used in several projects where it was important to update a fleet of client robots centrally, without logging into each terminal manually.
The Strategy Tester only starts the robot from the beginning of the day — you can't start mid-day and see how the strategy behaves under different conditions. And in live trading this is critical: two users who launched the same robot at different times of day may get completely different results. For one project, I built a system that allows checking each signal of a trading strategy — including those that the regular tester simply doesn't process. In the client's robot, the tester recorded about 5,000 signals, while in reality there were more than 45,000. The system allowed running all 45,000 and confirming the strategy's viability over a ten-year history period — without the "blind spots" that usually cause discrepancies between backtest and live trading.
For project discussions, message me on VK or MQL5.