# Events reference

> All 8 events in AlgoBarsX, each with its parameters, defaults, ranges and an example: start, bar close, tick, fill, exit, session open, day change, render.

Source: https://algobarsx.com/docs/ref-events/

### `on start:`

Runs once before the first evaluated bar.

```algobarsx
on start:
    log "Deployed"
```

Works in: strategy, indicator, alert. Since 1.0.

### `on bar close:`

Runs on every confirmed bar.

```algobarsx
on bar close:
    log "Bar {bar.index}"
```

Works in: strategy, indicator, alert. Since 1.0.

### `on tick:`

Runs on every price update (evaluate: tick).

```algobarsx
on tick:
    log "{close}"
```

Works in: strategy, alert. Since 1.0.

### `on fill(order):`

Runs when an order fills.

```algobarsx
on fill(order):
    log "Filled {order.size}"
```

Works in: strategy. Since 1.0.

### `on exit(trade):`

Runs when a trade closes, with trade.pnl, trade.r and trade.reason.

```algobarsx
on exit(trade):
    log "Closed at {trade.r:0.00}R"
```

Works in: strategy. Since 1.0.

### `on session open "<name>":`

Runs when a session opens.

```algobarsx
on session open "london":
    log "London open"
```

Works in: strategy, indicator, alert. Since 1.0.

### `on day change:`

Runs at each calendar day boundary.

```algobarsx
on day change:
    log "New day"
```

Works in: strategy, indicator, alert. Since 1.0.

### `on render(canvas):`

Custom vector drawing for the visible range.

```algobarsx
on render(canvas):
    canvas.text("Hello", at: (canvas.last_bar, close))
```

Works in: strategy, indicator. Since 1.0.
