<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Mql5 on Jonathan Franklin</title><link>https://jonnie.github.io/tags/mql5/</link><description>Recent content in Mql5 on Jonathan Franklin</description><generator>Hugo</generator><language>en</language><lastBuildDate>Mon, 07 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://jonnie.github.io/tags/mql5/index.xml" rel="self" type="application/rss+xml"/><item><title>Automated Trading System</title><link>https://jonnie.github.io/work/automated-trading-system/</link><pubDate>Mon, 07 Sep 2026 00:00:00 +0000</pubDate><guid>https://jonnie.github.io/work/automated-trading-system/</guid><description>&lt;h2 id="problem"&gt;Problem&lt;/h2&gt;&#10;&lt;p&gt;Pricesearcher&amp;rsquo;s automated FX/CFD trading operation needed more than strategies. Running through MetaTrader 5 meant connecting research and backtesting to live execution, account-level risk settings, data collection and reporting. The software also needed to handle market hours and the practical constraints of a Windows-based trading terminal.&lt;/p&gt;&#10;&lt;h2 id="architecture"&gt;Architecture&lt;/h2&gt;&#10;&lt;p&gt;MQL5 Expert Advisors ran inside MetaTrader 5, while a Python/FastAPI trade engine used the MT5 connector alongside the terminal on a Windows VPS. S3 held exported trade history and the &lt;a href="https://jonnie.github.io/work/mt5-ohlcv-pipeline/"&gt;OHLCV pipeline&lt;/a&gt; supplied bars for research and backtesting. AWS monitoring fed alerts into Slack, and an internal dashboard exposed strategy, account and commission views.&lt;/p&gt;</description></item><item><title>Statistical Arbitrage Strategy</title><link>https://jonnie.github.io/work/statistical-arbitrage-strategy/</link><pubDate>Thu, 30 Jul 2026 00:00:00 +0000</pubDate><guid>https://jonnie.github.io/work/statistical-arbitrage-strategy/</guid><description>&lt;h2 id="problem"&gt;Problem&lt;/h2&gt;&#10;&lt;p&gt;Pricesearcher wanted to research statistical arbitrage as another strategy for its FX/CFD trading operation. The approach measures a pair&amp;rsquo;s spread as a z-score, enters when it moves away from its recent range, and seeks an exit as it reverts. The difficult part is assessing whether that relationship persists, how execution and risk settings affect the result, and what happens when several setups share an account.&lt;/p&gt;&#10;&lt;h2 id="architecture"&gt;Architecture&lt;/h2&gt;&#10;&lt;p&gt;Research workflows load and resample bar data, rank pairs and feed backtesting tools. Scheduled AWS services run the signal engine against the &lt;a href="https://jonnie.github.io/work/mt5-ohlcv-pipeline/"&gt;S3 bar lake&lt;/a&gt;, while an on-demand service uses the same engine for historical inputs. MQL5 and Python engines execute configured setups, with trade-level reporting and Slack monitoring closing the review loop.&lt;/p&gt;</description></item><item><title>Socketrade Trading Bot</title><link>https://jonnie.github.io/work/socketrade/</link><pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate><guid>https://jonnie.github.io/work/socketrade/</guid><description>&lt;h2 id="problem"&gt;Problem&lt;/h2&gt;&#10;&lt;p&gt;MetaTrader 5&amp;rsquo;s Python API is request/response based. For Socketrade, I wanted the terminal to push ticks, closed bars and trade transactions to Python strategies, with commands travelling back for order execution.&lt;/p&gt;&#10;&lt;p&gt;The runtime also needed to manage concurrent setups—each a strategy, symbol or pair, timeframe and risk configuration. Changing a setup should not require restarting the bot, and disabling new entries should not abandon positions already open.&lt;/p&gt;&#10;&lt;h2 id="architecture"&gt;Architecture&lt;/h2&gt;&#10;&lt;p&gt;An MQL5 Expert Advisor and Python asyncio hub form a newline-delimited JSON socket bridge. The hub feeds terminal events into a strategy runtime whose setups are defined by YAML configuration and model files. A backtester feeds historical bars through the same strategy runtime, with a small web UI generating forms from the configuration schema and charting results.&lt;/p&gt;</description></item></channel></rss>