## **webazon\forex\Tickstory**

# Класс работы с историческими данными от DukasCopy Bank

#### Зависимости.

```composer
"gemorroj/archive7z": "dev-master"
```

Для корректной работы с архивами формата 7z необходиа установка пакета: **p7zip**

```bash
dnf install p7zip p7zip-plugins
```

------

### Получение тиковых данных по валютной паре

```php
$tick = new Tickstory();
$t = $tick->getTickStory(string <Валютная пара> , string <Дата и час в формате ISO 8601>);
```

Возвращаемы параметры - массив данных:

```json
{
    "primary_ip": "194.8.15.180",
    "currency": "EURUSD",
    "date": "2024-06-20T05:00:00+00:00",
    "ticks": [
        {
            "datetime": "2024-06-20T05:00:02.014Z",
            "ask": 1.07427,
            "bid": 1.07425,
            "vask": 2.700000047683716,
            "vbid": 0.8999999761581421
        }
        .....
 }
```

------

### Занесение полученных тиковых данных в базу данных

```php
$res=$tick->TickToBase($t); // где $t - массив, полученный на предыдущем шаге.
```

Возвращаемый параметр - ***`true/false`***

------

### Формирование массивов свечей по тиковым данным

```php
$array=$tick->FormationCandlesFromTicks($t); // где $t - массив, полученный функцией "getTickStory()"
```

Возвращаемые параметры - массив и минутных, пятиминутных, пятнадцатиминутных и часовых свечей.

```json
{
    "currency": "AUDUSD",
    "date": "2024-06-28T20:00:00+00:00",
    "candles": {
        "m1": [
            {
                "timestamp": 1719604800,
                "datetime": "2024-06-28T20:00:00.072Z",
                "o": 0.66709,
                "h": 0.66711,
                "l": 0.66696,
                "c": 0.66697,
                "vask": 55.50000047683716,
                "vbid": 67.64999949932098
            },
            ...........
 }
```
