Strategies

Run, watch and stop

Start a strategy on its own paper book or on a project's wallets, watch what it decides and why, change its knobs, and stop it.

Start a run#

A run (a deployment) starts from the next bar and keeps going on ftw.trade's servers.

  • On its own paper book: press Run on paper. Nothing but the strategy's own book is touched. This is where every strategy should start.
  • On a project's wallets: choose a project and its wallets. The run trades them, on paper or live as the project is.
    • On a pool, each buy spends a set amount of ETH from each wallet, and a sell sells each wallet's whole holding.
    • On a perp, each wallet sends the order's USD notional at the run's leverage. With matched sizing, each wallet holds the book's position as a share of its own equity, so it scales with deposits and withdrawals.
    • On a Polymarket outcome, each buy spends a set dollar amount from each wallet's Polygon account.

Watch it#

  • Strategies → Running lists every run with its equity, stats, latest metrics and orders. Open one to watch it live: what it reads, each metric's line, its last decisions and fills.
  • Monitor shows every running strategy at once, the data arriving for each, and whether the servers are keeping up.
  • Log keeps every decision, order, fill and error, with the reason. Filter to one run or to problems only.
  • A dashboard puts the run's P&L, signals, positions and trades on one shareable page. One click (or add_strategy_dashboard) builds it. See Dashboards.

Change it#

  • Knobs: a run's settings can be turned while it runs, or set to an optimization's best.
  • Code: saving a new version doesn't change a run. Start a new run for new code, then stop the old one.

Stop it#

  • Stop ends the decisions. Positions it holds stay open.
  • Close out (on a hedged or multi-market run on wallets) unwinds what it holds, and brings funds it bridged back home.
  • Remove stops and deletes the run. Its trades stay in the project's history.
Stopping is not closing

Stopping a run leaves any open position where it is. Close perps from the project's perps panel, or use close out, before you walk away.

When a run stops by itself#

A run stops, with the reason in the Log, when:

  • one of its invariants is breached (a drawdown, a daily loss, a trade count) and its on_breach says so;
  • its replay stops matching the orders it sent;
  • a source it reads is deleted or retyped;
  • the market it trades is delisted or resolved.