Skip to content

Work2025

A containerised trading platform

MetaTrader 5 running under Wine behind a Flask API, orchestrated by Django and Celery across sixteen containers. Twenty-one scheduled tasks over three queues, a real-time tick pipeline on Redis pub/sub, and a full observability stack of Prometheus, Grafana, Loki and Alertmanager, with a Kubernetes deployment path alongside Compose.

Stack
PythonDjangoCeleryDockerKubernetes

A platform assembled from parts that were never designed to run together. MetaTrader 5 is a Windows desktop application; here it runs under Wine inside Docker, wrapped in a Flask API so the rest of the system can speak HTTP to it.

Orchestration

Django and DRF own the domain model and expose the control surface. Celery does the work: twenty-one scheduled tasks across three queues, run by eight worker processes.

Real-time path

A separate tick pipeline moves market data over Redis pub/sub into a cumulative-volume-delta engine. It is kept off the request path so that a slow HTTP call cannot stall it.

Running it

  • Sixteen containers under Docker Compose, with a Kubernetes variant using kustomize and a written deployment runbook
  • Traefik v3 terminating TLS with Let's Encrypt
  • Prometheus, Grafana, Loki with Promtail, Alertmanager and cAdvisor
  • PostgreSQL 15, twenty-four tables

Strategy logic, parameters and results are deliberately not described here.