# Charting: opening hours and timezones

The Charting blade obtains information regarding opening hours and timezones from the IDN feed. This information can be rerequested regularly, and opening hours for specific objects and exchanges can be defined.

## Specifying trading hours

Trading hours are specified using the following syntax:

```
DD[-DD] HHMM-HHMM[,HHMM-HHMM] ...
```

### Examples

The examples below demonstrate the flexibility of trading hours syntax. They are not intended to reflect the trading hours of any particular market.

**Example 1**

```
MO-FR 0800-1630
```

The market is open Monday to Friday from 0800 till 1630.

**Example 2**

```
MO-FR 0800-1200,1300-1630
```

The market is open Monday to Friday from 0800 till 1200 and from 1300 till 1630.

**Example 3**

```
MO-TH 0800-1200,1300-1630 FR 0800-1200,1300-1600
```

The market is open Monday to Friday from 0800 till 1200 and from 1300 till 1630, except on Fridays when the market closes at 1600.

## Configuration items

Configuration items for configuring trading hours and timezones.

### info-page

The name of the symbol carrying information to request at start up.

**Default value**: [no default]

### info-rerequest-time

Minutes after midnight local time at which to re-request trading time information. This is used in conjunction with `info-rerequest-days` to make sure the trading time data is up to date.

**Default value**: [no default]

### info-rerequest-days

Day at which to re-request trading time information. This is used in conjunction with `info-rerequest-time` to make sure the trading time data is up to date.

**Default value**: [no default]

### timeinfo-filename

Filename to write trading time information to. The Charting blade can write out the trading time information to memory when it shuts down. This ensures the blade does not have to wait for the relevant information to be sent from the data source every time it starts up.

**Default value**: [no default]

### timeinfo-shutdown-write

Boolean determining whether trading time information should be written to file on shutdown.

**Default value**: FALSE

### times-hashsize

Number of entries in the hashtable which holds trading times.

**Default value**: 1024

### add-exchtime

Defines the opening time information for a specific exchange.

**Syntax**: `add-exchtime  <id>  <timezone>  <name>  <suffix>  <hours>`

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| id | string | +[no default]+ | Exchange identifier |
| timezone | string | +[no default]+ | Time zone of the exchange. Time zones are defined using **add-timezone** (see [here](#add-timezone)). |
| name | string | +[no default]+ | Exchange full name |
| suffix | string | +[no default]+ | Exchange suffix (eg .L, .O) |
| hours | string | +[no default]+ | Exchange opening hours. See [Specifying trading hours](#specifying-trading-hours) |

### add-rictime

Defines the opening time information for a specific symbol. The entry must use the following format:

**Syntax**: `add-rictime  <name>  <timezone>  <hours>`

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| name | string | +[no default]+ | Symbol. |
| timezone | string | +[no default]+ | Time zone of the symbol’s exchange. Time zones are defined using **add-timezone** (see [here](#add-timezone)). |
| hours | string | +[no default]+ | Symbol’s exchange opening hours. See [Specifying trading hours](#specifying-trading-hours) |

### add-roottime

Defines the opening time information for an exchange’s symbol root. The entry must use the following format:

**Syntax**: `add-roottime  <root>  <timezone>  <hours>`

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| root | string | +[no default]+ | Root name (see also **root-hashlen** below). |
| timezone | string | +[no default]+ | Time zone of the exchange. Time zones are defined using **add-timezone** (see [here](#add-timezone)). |
| hours | string | +[no default]+ | Exchange opening hours. See [Specifying trading hours](#specifying-trading-hours) |

### root-hashlen

Number of characters to truncate root symbols to.

**Default value**: 2

### add-timezone

Identifies a time zone.

**Syntax**: `add-timezone  <name>  <fullname>  <offset>  <summer>  <start>  <end>`

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| name | string | +[no default]+ | Timezone name |
| fullname | string | +[no default]+ | Timezone full name |
| offset | [+][-]HH:MM | +[no default]+ | Offset from GMT. |
| summer | [+][-]HH:MM | +[no default]+ | Additional offset during summertime. If no summertime offset required, then the _summer_, _start_ and _end_ options may be omitted. |
| start | DDmmmYY HH:MM | +[no default]+ | Summertime start (for example, "29MAR03 00.00"). |
| end | DDmmmYY HH:MM | +[no default]+ | Summertime end. |
