← ante9.io
[ Documentation ]

Ante 9 — Docs

Getting from install to your first correctly-sized order, mapping a MIDI controller, and what to do when something doesn't behave.

Quick start MIDI setup Troubleshooting Sending a log

Quick start

From install to a bracket sent in SIM. Ante 9 loads disarmed and with live trading off — you have to deliberately turn each on, and ARM never survives a restart.

1 · Chart the broker's instrument

Ante 9 binds to the chart's connection. If your chart is on a market-data-only feed, order entry will be greyed out. Open the instrument from your broker connection (Rithmic, etc.), not a data-only source.

Rithmic note: Rithmic allows only one order-routing session per login. If the account dropdown stays empty while data flows fine, another session or machine is holding the order route.

2 · Set your max risk

This is the number everything else derives from — the most you're willing to lose on one trade. Ante 9 sizes the position so the distance from entry to stop costs exactly that.

Set Max $ Risk on the unit's rear panel (the button flips it) or in Bookmap's own Ante 9 settings panel.

3 · Place your three lines

Drag ENTRY, STOP and TARGET on the chart, or turn the knobs on the Channel Strip. The stop is the important one: put it where the trade is wrong, not where it feels comfortable. Everything sizes off that distance.

4 · ARM, then Send

ARM is the master switch — until it's on, Send is inert and Ante 9 is a planning tool that writes a plan-log. With it armed, Send fires an entry plus a bracket (stop and target) in one action.

Confirm-every-order is on by default. Leave it on until the flow is muscle memory.

5 · Set your guardrails

In Settings, under the trading section:

The drawdown guard is a model, not a mirror. Your firm's real threshold isn't exposed to Bookmap, so Ante 9 reconstructs it from the numbers you type plus your live balance. If those don't match your dashboard, it will compute a confidently wrong floor. Always verify against your firm's own figure.

6 · Going live

LIVE is a separate switch from ARM, on the rear panel, and it requires typing a confirmation. Until you enable it, a non-simulated fill will disarm Ante 9 and block further sends — deliberately fail-closed.

MIDI setup

Any standard USB MIDI controller works. Knobs and faders drive the price lines; buttons fire actions.

Connect and check

  1. Plug the controller in. Connecting it before launching Bookmap is the smoothest path.
  2. Open Settings → MIDI control…. Opening this window rescans for devices automatically.
  3. The panel at the top lists what's attached — Listening: <your device>.
If you plug in after Bookmap is already running, just open the MIDI window (or hit Rescan devices). Ante 9 grabs its inputs at load, so a controller connected later isn't seen until it rescans.

Learn a control

Click Learn beside the action you want, then move the knob or press the button. That's the binding.

Knob modes

Continuous controls (entry, stop, target, ATR) have four modes. If a knob feels wrong, this is usually why:

ModeUse when
AbsFaders and anything that sends a position — the control's physical position maps to a price range.
RelEndless encoders that send increments. The default for most CC knobs.
Rel-2cEncoders using the other common relative encoding — try this if Rel moves the wrong way or jumps.
EncFine-grained encoder mode; use Enc ticks/step to tune sensitivity.

Buttons are momentary — they fire on press.

What you can map

Entry · Stop · Target · ATR value · ATR apply · Flip · Now (current price) · Now autopilot latch · Engage · Send bracket · Scale in · Scale out · Stop → break-even · Trailing stop · Reverse · Flatten · Open Channel Strip.

Bindings are saved per device name. If your controller reports a different name — different USB port, a driver update, a different interface — your existing bindings won't fire, because they're still pointing at the old name. The MIDI window flags this: a red Not connected line naming the device your bindings expect. Either reconnect that device or re-learn onto the new one.
Known limitation — one Bookmap instance at a time. MIDI bindings live in a single shared file. If you have Ante 9 running on two charts and learn a binding on one, the other can overwrite it. Map your controls with a single instance running.

Troubleshooting

Ante 9 tells you why it refused something. Below is what each message means and what to do. Anything starting is worth reading carefully — it means something happened that you didn't ask for.

Nothing sends

MessageWhat to do
Trading not armedFlip ARM. It never survives a restart, by design.
Set levels first · Levels incompleteAll three lines — entry, stop, target — need a price.
Stop & target are on the same side of entryThe geometry isn't a trade. One goes above entry, one below.
Size is 0 — check risk/stopYour stop is so far away that even one contract exceeds max risk — or max risk is set too low.
Size N exceeds cap MThe risk-based size is above your max contracts cap. Raise the cap or tighten the stop.
Account blocked (live not allowed)Live trading isn't enabled, or a real fill landed while it was off and Ante 9 latched closed. Enable LIVE deliberately.
No account bound — pin your account (Settings)Bookmap hasn't reported an account. Check the connection, or pin the account id in Settings.
No broker ack — order may not have routedNo confirmation came back within 4 seconds. Check your broker's order list before re-sending — it may have routed.
send blocked — entry still in flightAn entry is already working. Prevents accidental doubling.

You're locked out

MessageWhat it means
⛔ DAILY STOP — locked out until tomorrowThe day's loss limit was hit. New entries refused until the trading-day rollover.
⛔ Add blocked — daily loss limit hitThe lockout applies to Add and Reverse too — not just Send.
⚠ ARMED, but the daily loss limit is still trippedYou can arm, but entries stay blocked. Exits are always allowed.
⛔ Drawdown guard trippedReset the baseline in Settings when you start a fresh eval.

To end a lockout deliberately: raise or clear the limit in Settings. It's your limit — Ante 9 records the change and gets out of your way. Use Reset day counters (testing) if you're setting up a test rather than trading.

Scaling and stops

MessageWhat it means
Add cancelled — over Max $You declined the warning that the add would push risk past your max.
Add blocked — no valid stop to protect itAnte 9 won't add unprotected size.
Stop only tightens — widen blockedThe stop guard is in ratchet mode. Change it in Settings if you want free movement.
Can't widen past your set riskMoving the stop there would exceed max risk on the size you hold.
Stop already at/past break-evenNothing to do — it's already there or better.
⚠ Add not covered — restoringAn add's protection didn't confirm, so the add was undone. Check your position.

Things you didn't ask for

MessageWhat happened
⚠ PHANTOM ±N — stale order, not your tradeA position opened that Ante 9 never sent — usually an old order firing. Check your position immediately.
⚠ Reduce filled after flat — closing the N it openedA scale-out raced your stop and landed after you were already flat, opening a reversed position. Ante 9 closed it automatically.
⚠ Stop leg executed at market — not triggeredA stop filled without its trigger price being hit. Worth investigating with your broker.
⚠ STOP RESEND FAILED — check protection / flattenYou may be unprotected. Verify in Bookmap and flatten manually if needed.

MIDI does nothing

  1. Open Settings → MIDI control… — it rescans on open.
  2. Is your controller in the Listening: list? If not, check the cable and hit Rescan devices.
  3. Is there a red Not connected line? Your bindings point at a device that isn't attached — see the device-name note above.
  4. Is MIDI enabled ticked?
  5. Knob moves the wrong way or jumps? Try a different mode (RelRel-2c).

Testing the guards on replay

Turn on Demo P&L so simulated and replay fills feed the guards. If the log says guard accrue SKIPPED, it now names the reason. Two common ones:

Sending a log

Ante 9 writes a detailed diagnostic log automatically — no setup, always on. It records order sends, fills, leg moves, guard trips and the reason anything was refused. It's usually enough to identify a problem without reproducing it.

Where it is:

~/Documents/trade_logs/tbs-debug.log

A previous file is kept alongside it as tbs-debug.1.log when the current one rolls over. Your plan-log CSV lives in the same folder as TradeBoxSizer_trades.csv.

When reporting a problem, include roughly what time it happened and what you were doing. Every line is timestamped with a full date, so a time is enough to find it. The build you're running is shown on the unit itself, next to the ANTE 9 nameplate.
Before sharing: the log contains your broker account id (e.g. acct=APEX-000000-00). No passwords or keys — but if you'd rather not share the account id, search and replace it before sending.