# Execution rules: timing

> E1 Bar-close evaluation, E2 Tick evaluation

Source: https://algobarsx.com/docs/rules-timing/

###  E1 **Bar-close evaluation**

Scripts with `evaluate: bar_close` (the default) run after each bar closes. Orders created at that close take effect from the next bar: market orders fill at the next bar's open, and pending orders can first fill during the next bar. A market order created at the last bar of a test never fills and is reported as unfilled.

###  E2 **Tick evaluation**

Scripts with `evaluate: tick` run at every point of the price path (E6), and market orders fill at the price of the point that triggered them, without waiting for the bar to close. Live, that is the next tick after the condition becomes true; in a backtest it is the next stored price. When a bar has no finer stored data, its own path is used and the run is labelled "approximate intrabar", listing the bars affected.

Inside a forming bar, prices are live and indicators are not: `close`, `high`, `low` and everything derived from them move with the tick, while indicator values stay as they were at the last bar close, because a bar that has not finished cannot have changed them yet. `bar.confirmed` is false during a tick and true at the close. Pending orders placed by a tick still wait for the next bar, as in E1.
