NACH Analytics
NACH internal project

A system that logs everything

A system that runs unattended is easy to build and hard to trust. We built this one so that any decision it made can be reconstructed three weeks later.

Our AI assistant asks about your project and can build you a free plan.

What the audit view looks like

We recreated it with the site's own components from a written description of the layout, so it isn't a screenshot, redacted or otherwise. The data is synthetic, generated by a seeded script in our repository, and every label is generic. We don't publish the real view because it would expose how the strategies work.

Trade lifecycle audit

Direction All Strategy Strategy 1 Outcome All Event Event 1042

Showing one lifecycle in isolation · 10:12:00 to 10:59:00 · 48 1 minute bars

  1. Signal detected
  2. Pending order opened
  3. Filled
  4. Closed
Trigger telemetry Approved rules sequence Execution metrics
  • Rule 1 passed
  • Rule 2 passed
  • Rule 3 failed
  • Rule 4 passed
Timestamp Event Side Size Reference Note
10:21:00 Signal detected — — — Criteria met
10:23:00 Rule evaluation — — — Rule 3 failed, logged
10:26:00 Pending order opened Long 1 unit entry reference Placed above level
10:31:00 Order amended Long 1 unit entry reference Stop reference moved
10:36:00 Filled Long 1 unit entry reference Order filled
10:50:00 Closed Long 1 unit exit reference Exit criteria met

Illustrative recreation of our audit dashboard. Synthetic data.

One trade lifecycle, isolated: the signal, the pending order, the fill and the close, with every rule evaluation recorded beside it. The marked event is the fill.

The problem

Answering, weeks later, exactly why an automated system did what it did is harder than writing its rules. If nobody can, people stop trusting it and start checking it by hand, and they're back to the job they were trying to remove.

Today it's a research system on a demo account, which we use to study execution and risk mechanics. It runs continuously on a hosted machine with live market data and simulated execution.

The data

It reads live market data for one instrument and writes its own event log. We publish the structure of the data and the log and nothing beyond it, and no source code: the rules themselves are the part worth keeping private.

How we approached it

Every decision writes an event. The log has a locked schema, so a row written today can be compared with one written six months ago. Adding a field takes a deliberate change; it can't happen by accident.

Signals, rule evaluations and order events all land in the same place, in order. A rule that fails is recorded just as carefully as one that passes, because the failures are what explain the gaps.

The risk controls follow fixed rules, with no case-by-case judgment: volatility-scaled stops, breakeven and partial-exit handling, and a health monitor that tracks recent closed trades and sidelines a strategy that is behaving badly.

How it is built

It runs unattended on a hosted machine, and every strategy goes through one shared execution loop. Each decision is written to an audit log with a fixed set of columns, so the behavior can be reviewed afterwards without relying on anyone's memory.

Methods and tools: Python connected to MetaTrader 5, volatility-based position and stop sizing, volume profile analysis, a regime filter, and structured CSV audit logging with a fixed column schema.

What we can show

The view isolates one lifecycle: the signal, the pending order, the fill and the close, with the rule evaluations recorded next to them and a timestamped table underneath. Any event can be traced back to the conditions that produced it.

You won't find performance figures for this system here or anywhere else on this site. It runs on a demo account, so there is no verified track record, and publishing simulated results as though they were outcomes would be exactly the thing we criticize elsewhere.

What it demonstrates

Even if you have no interest in trading, the same idea applies to your business: every decision the system makes is recorded, and any one of them can be reconstructed afterwards, which is what makes an automated business process safe to leave running.

The logging and run guide in the automation package make the same promise. This system keeps it at a harder standard, because its events arrive continuously and can't be re-created by running the job again.

Need something that runs unattended and can be checked?

Tell us the decision you're trying to make. If we're not the right people, we'll say so.

Our AI assistant asks about your project and can build you a free plan.

Or book a 30-minute call

Nacho AI

NACH Analytics' AI assistant

Book a call