AMMDocumentationWebsite ↗
how to · 4 min read

Practice with Simulation and replay

Choose repeatable synthetic prices or file-backed replay and understand the model limits.

Reviewed 2026-10-24 · Windows & macOS

On this page

Choose the practice model#

Simulation is a broker/data-feed identity that works without external credentials. It exercises charting, order handling, strategies and account recovery through AMM's normal integration surfaces. It is separate from a real broker's Demo or Paper account: a provider's Paper account still depends on its own login, market data and execution rules.

AMM provides three Simulation modes:

Mode Price source Good use
Deterministic Repeatable synthetic observations for an effective seed/configuration Learning a workflow, reproducible chart/order experiments
Random Synthetic observations with generated runtime seed and start time Fresh practice sessions
Replay Stored AMMBIN observations from an explicit replay folder Reviewing recorded market periods through simulated execution

The source does not reproduce a regulated broker's matching engine. Simulation currently has no realistic margin-call, financing or account-cash model; simulated close details use zero commission/swap placeholders. It does not model venue-side partial fills, broker throttling or stop gap slippage. A profitable practice result therefore does not establish expected live performance.

Start a repeatable session#

  1. Open a new chart or strategy configuration.
  2. Choose Simulation as execution. Choose Simulation as the live feed for a fully synthetic session.
  3. Select Deterministic and enter a fixed seed/start time when repeatability matters.
  4. Set the instrument's quantity, price and contract details carefully. Simulated lots and units still need a coherent instrument contract.
  5. Set virtual starting capital and currency where the Simulation form exposes them.
  6. Start and wait for Running. Submit a small practice action and inspect the simulated order, position and history.

Editable Simulation capital initializes virtual funds; it does not reserve or allocate funds at a connected broker. Demo/Paper/LIVE brokers use broker-reported capital instead. Changing a strategy's virtual capital does not move cash between real accounts.

An illustrative set of configuration fields is:

{
  "brokerId": "simulation",
  "dataFeedId": "simulation",
  "simulationMode": "deterministic",
  "simulationSeed": 1234,
  "simulationStartTimeUtc": "2025-01-01T00:00:00Z",
  "simulationLiveTickIntervalMs": 250
}

This is the Simulation portion of a configuration, not a complete launch request. Use the UI or current REST schema to supply the instrument/session fields. The tick interval accepts 100–60000 milliseconds.

Replay stored observations#

Select Replay and choose an explicit AMMBIN replay-data root. Optionally select its market folder and replay-speed multiplier. The folder is required; choosing Replay alone cannot infer which provider/account archive you intended. Replay speed accepts 0.01–10000, subject to practical processing limits.

Use matching instrument identity, provider price encoding and stored resolution. A file of minute bars is not raw tick history and cannot reconstruct every intrabar path. A quote archive can retain bid/ask, while a trade archive has its own observations and volume semantics. Inspect the data basis and coverage first. Replay does not substitute another provider's archive when the requested exact route is missing.

The stored-observation clock and wall-clock playback speed are different. Faster playback changes how quickly observations arrive at the UI; it does not create new market information. Gaps and closures in the source remain part of the source. When evaluating signal timing, inspect observation timestamps rather than the time at which you watched the screen.

Save the effective identity#

A random session generates its seed and anchor time once. AMM exposes the effective configuration after startup. Save/export that configuration if you want to resume the same venue state. Reposting a loose random request can generate a new identity and a new price path.

Simulation state is tied to account/environment, mode, seed, start time, tick interval, replay speed and replay folders, together with the selected data environment. Changing those values deliberately creates a different simulated venue. A restarted API or relay can recover open simulated orders/positions when the effective identity matches. Reset is a separate destructive practice-state action; inspect which simulated account it targets before using it.

The synthetic clock starts advancing when a symbol is subscribed or an order/position requires it. A delay opening the first chart should not silently consume the beginning of a deterministic session. Once positions or orders exist, the venue can keep progressing without a visible chart.

Distinguish other replay workflows#

Manual Forward Testing has an externally controlled historical clock, play/pause/step/next-signal actions and a shared simulated account. Use that workspace when you want deliberate bar-by-bar discretionary review. Simulation Replay is a simulated venue sourcing stored observations. The hybrid Alpaca-history workflow is another specific combination: Simulation execution with an Alpaca bar-driven feed and an explicit historical start. Do not assume that setting a start time converts every real feed into historical replay.

The local cTrader Replica is also separate: it tests the real cTrader connector against a local protocol-compatible venue using existing archives. It does not refresh real cTrader security masters or contact a real broker.

Troubleshoot practice sessions#

Missing replay folder, wrong market folder, absent resolution and incompatible symbol specs are different problems. Check each explicitly. For an unexpected reset, compare the effective identity with the saved configuration. For unrealistically cheap execution, remember the model's commission, financing and slippage limits. Use Historical data before judging recorded replay and Brokers and feeds before moving to a provider's Paper or LIVE environment.

Application screenshotOpen original ↗