Entry policy
Entry policy is when the platform may act on a setup the conditions already accepted — and, for level triggers, where the resting order sits.
It is authored on the strategy, then applied to every bound agent. Agents do not own a separate entry editor.
Which bar decides is the strategy’s own timeframe. You choose the trigger; level triggers also honour two dials (offset and validity).
A new strategy starts at On bar close, with level dials at their inert seed (offset 0 · valid for 4 bars) until a level trigger needs them.
Quick map
| Trigger | One line | Order shape | Honoured dials |
|---|---|---|---|
| On bar close | Decide when the strategy bar closes and still agrees | At market (limit / GTC) | — |
| On the break | Rest a stop past the 20-bar channel edge; exchange fills on trade-through | Stop / IOC | Offset · Valid for |
| On the pullback | Rest a limit in front of the broken 20-bar edge; wait for return | Limit / GTC | Offset · Valid for |
Entered immediately (at signal) is retired — readable on old decisions, not authorable. Every authorable trigger decides on the strategy bar’s close; what differs is what that decision resolves into (fire now vs place a level order).
On bar close
Decided when the strategy bar closes and still agrees, then filled promptly after that close. A platform fill-quality guard may refuse if price has already run too far from the close — not an authored dial, and not a number you set on the strategy.
No entry dials. Patience is the bar itself.
Example. Setup qualifies mid-bar; nothing fires until close. Close still qualifies → entry. Close fails → no entry, and that bar is not revisited.
On the break
Decided at the strategy bar’s close, then a stop rests just past the platform 20-bar Donchian edge — the channel high (long) or low (short). That window is fixed (not an authored dial). The exchange fills when price trades through. You choose only how far past the edge to rest — not the edge itself. If the channel is not yet stable, the level is unavailable (no invented fallback).
| Dial | Meaning | Range | Seed |
|---|---|---|---|
| Level offset | Distance past the derived edge (× ATR), unsigned | 0–2 | 0 |
| Valid for | How long the resting order may sit, in strategy bars | 1–24 | 4 |
Example. Offset 0.5 × ATR on a long: stop sits half an ATR above the 20-bar high. Fewer noise fills; worse price when it does fill. Offset 0 = at the edge (including wick-and-reverse).
On the pullback
Decided at close, then a limit rests in front of the 20-bar Donchian high/low that price most recently broke (break memory on that same fixed channel), waiting for a return. Not filling is a correct outcome — the retest that never comes is the expected case, not a failure. No unrecovered break means no setup (never a fallback level).
Same dials as On the break (offset · valid for).
Example. Long after a break of the 20-bar high: limit sits below that broken high by the offset. If price never comes back within valid for bars, the order expires with no position.
Channel (fixed)
Level triggers read a Donchian channel on the strategy timeframe:
| Fact | Value |
|---|---|
| Window | 20 bars — platform-fixed, not authored |
| Breakout edge | Current channel high / low |
| Pullback edge | Last unrecovered broken high / low (break memory) |
| Unavailable | Channel not stable yet, or no unrecovered break for pullback — order is refused, not invented |
Level dials (shared)
Only On the break and On the pullback honour these. Under On bar close they stay at seed and are ignored. Switching trigger resets un-honoured dials to seed so a meaningful value cannot sit under a trigger that does not use it.
| Dial | Why this unit |
|---|---|
| Offset (× ATR) | Same distance means the same thing across coins; direction comes from trigger + side, never a sign you type |
| Valid for (bars) | A 1h setup waiting for a retest has not failed after fifteen minutes; a 5m setup has — bars, not wall clock |