Deployment
Droplets, the 15-second tick, activity feed, live terminal, and the kill switch — how TICPOZ runs your strategy on real money.
A droplet is a single live execution unit. It binds one StrategySpec to one broker account and runs continuously on dedicated infrastructure. Every droplet has its own log, its own activity feed, and its own kill switch.
Lifecycle
The 15-second tick
Every 15 seconds the worker performs the same sequence:
- Fetch the latest candles for every timeframe the spec references.
- Recompute every indicator declared in the spec.
- Evaluate the entry clause trees, session filter, news filter, and higher-timeframe trend filter.
- If a fresh signal fires, submit the order to the broker with the configured stop and target.
- Re-check exits for open positions — breakeven moves, trailing stops, target adjustments.
- Emit a heartbeat to the activity feed even if nothing happened, so silence in the feed always means the worker is dead, not idle.
The 15-second cadence is not a minimum trade interval — it is the evaluation cadence. Exits, including stop-loss and take-profit, are placed at the broker as native orders and execute at broker latency, not at our cadence.
Activity feed
Each droplet has a per-event feed. Event kinds:
heartbeat— emitted every tick. Confirms the worker is alive.signal— a clause tree evaluated true. Shows the clause that fired and the bar timestamp.order_sent/order_filled/order_rejected— order lifecycle at the broker.position_opened/position_closed— net position changes, including the realised PnL.error— anything the worker could not recover from on its own.risk_cap— the droplet auto-paused because a risk cap was hit (see below).
Live terminal
The Terminal page streams three things in parallel:
- The price feed for the droplet's symbol, plotted bar-by-bar with the indicators in the spec overlaid.
- The signal evaluation trace — which clauses fired and which did not, on the most recent tick.
- The worker log tail. Plain text, the same lines stored on disk.
Risk caps and the auto-pause
Every droplet honours the risk block of the spec at runtime. The two caps that matter most:
perTradePctsizes each entry off the stop distance and the live account equity. If sizing would breach the configured cap, the order is rejected with arisk_capevent.dailyDdCapcompares current equity to the equity at the session open. If drawdown crosses the cap, the droplet pauses automatically and arisk_capevent is emitted. You receive a notification by email and webhook.
Pausing and unpausing
Pause is non-destructive. The droplet's state, in-flight orders, and webhook configuration are preserved. Unpause resumes the tick loop on the next 15-second boundary.
Kill switch
The big red button on the droplet page issues an emergency stop:
- The tick loop is killed immediately, not on the next boundary.
- All open positions on the bound account are closed at market via the broker's flatten endpoint.
- Pending orders are cancelled.
- The droplet transitions to
stoppedand the worker JWT is invalidated.
Webhooks
Each droplet can be configured with a webhook URL. We POST a signed JSON payload on every position open and close. See API and webhooks for the schema and signature scheme.