Ind_Aleks_ICT_Entry_V2_TS_I.../INDICATOR_API.md

493 lines
24 KiB
Markdown
Raw Permalink Normal View History

2026-03-26 18:45:10 +03:00
# Ind_Aleks_ICT_Entry_V2_TS_Indie — API для советника
Справочный файл для разработки Expert Advisor (EA), использующего данный индикатор.
---
## 1. Общее описание
**ICT Entry Indicator** — чартовый индикатор MQL5, реализующий методологию ICT (Inner Circle Trading).
Определяет рыночную структуру, ключевые уровни и зоны для входа в сделку.
**Что индикатор предоставляет:**
- Свинги двух типов (Liquidity и Structure)
- ZigZag линию по Liquidity Swings
- BOS (Break of Structure) и MSS (Market Structure Shift)
- Направление тренда (бычий/медвежий)
- Уровни ликвидности (Supply/Demand) + sweep detection
- FVG (Fair Value Gap) и iFVG (Inverted FVG) зоны
- Equilibrium / Premium / Discount зоны
---
## 2. Подключение индикатора из EA
### Создание хэндла
```mql5
int g_ict_handle;
int OnInit()
{
g_ict_handle = iCustom(
_Symbol, _Period,
"\\Shared Projects\\Ind_Aleks_ICT_Entry_V2_TS_Indie\\Ind_Aleks_ICT_Entry_V2_TS_Indie",
// --- Основные параметры ---
5, // inp_len — Сила пивота Liquidity Swings (default: 5)
10, // inp_len_in — Сила пивота Structure Swings (default: 10)
"Close", // inp_valid_con — Метод валидации pullback: "Close" / "High/Low"
2000, // inp_calc_bars — Баров для расчёта (0 = все)
true, // inp_follow_trend — Фильтрация по тренду
// --- ZigZag и Liquidity Swings ---
clrNONE, // inp_zz_col
STYLE_DOT, // inp_zz_style
1, // inp_zz_width
clrRed, // inp_lsw_col
1, // inp_lsw_size
// --- Structure Swings ---
clrDodgerBlue, // inp_ssw_col
4, // inp_ssw_size
// --- BOS / MSS ---
clrDodgerBlue, // inp_bos_up_col
clrCoral, // inp_bos_dn_col
STYLE_DOT, // inp_bos_style
1, // inp_bos_width
clrDodgerBlue, // inp_mss_up_col
clrCoral, // inp_mss_dn_col
STYLE_DASH, // inp_mss_style
1, // inp_mss_width
// --- Уровни ликвидности ---
false, // inp_show_lid
clrGreen, // inp_lid_col
1, // inp_lid_size1
1, // inp_lid_size2
// --- Equilibrium / Premium / Discount ---
50, // inp_pre_dis — % первого уровня
80, // inp_pre_dis2 — % второго уровня
false, // inp_eq_con — Включить фильтрацию зон
clrOrchid, // inp_eq_col
STYLE_DASH, // inp_eq_style
1, // inp_eq_width
clrPurple, // inp_pd_col
STYLE_DOT, // inp_pd_style
1, // inp_pd_width
// --- FVG / iFVG ---
500, // inp_qty_fvg_hist — Глубина истории FVG (бары)
clrDeepSkyBlue, // inp_fvg_obj_col
clrNONE, // inp_fvg_buf_col
clrDodgerBlue, // inp_ifvg_obj_col
clrNONE, // inp_ifvg_buf_col
true, // inp_show_fvg
false, // inp_show_ifvg
true, // inp_fvg_trend_only
false, // inp_fvg_eq_filter
false, // inp_fvg_eq_strict
false // inp_fvg_eq_use_lvl2
);
if(g_ict_handle == INVALID_HANDLE)
{
Print("Ошибка создания хэндла индикатора ICT Entry!");
return INIT_FAILED;
}
return INIT_SUCCEEDED;
}
```
### Чтение буферов
```mql5
double buf[];
ArraySetAsSeries(buf, true);
// Пример: прочитать буфер тренда (индекс 28) за 3 последних бара
if(CopyBuffer(g_ict_handle, 28, 0, 3, buf) > 0)
{
double trend_now = buf[0]; // текущий бар
double trend_prev = buf[1]; // предыдущий (подтверждённый) бар
}
```
**ВАЖНО:** Индикатор считает данные побарно. Значения на `bar[0]` (текущий) обновляются каждый тик, но **подтверждённые** данные — на `bar[1]` и старше. Для торговых решений рекомендуется использовать `bar[1]`.
---
## 3. Карта буферов (buffer index → данные)
Всего **29 буферов**: 20 INDICATOR_DATA + 9 INDICATOR_CALCULATIONS.
### 3.1. Визуальные буферы (INDICATOR_DATA) — plots 0-17
| Buffer Index | Имя | Тип отрисовки | Описание |
|:---:|------|:---:|------|
| **0** | ZigZag | DRAW_SECTION | ZigZag линия по Liquidity Swings. Значение = цена точки свинга, `EMPTY_VALUE` = пропуск |
| **1** | LiquiditySwing | DRAW_ARROW (159) | Точки Liquidity Swing (ромбики). High/Low пивоты силы 5 |
| **2** | StructureSwing | DRAW_ARROW (159) | Точки Structure Swing (ромбики). High/Low пивоты силы 10 |
| **3** | Liquidity_Up1 | DRAW_ARROW (158) | Ближайший Supply уровень ликвидности (Swing High) |
| **4** | Liquidity_Dn1 | DRAW_ARROW (158) | Ближайший Demand уровень ликвидности (Swing Low) |
| **5** | Liquidity_Up2 | DRAW_ARROW (158) | 2-й Supply уровень |
| **6** | Liquidity_Up3 | DRAW_ARROW (158) | 3-й Supply уровень |
| **7** | Liquidity_Dn2 | DRAW_ARROW (158) | 2-й Demand уровень |
| **8** | Liquidity_Dn3 | DRAW_ARROW (158) | 3-й Demand уровень |
| **9** | BOS_Up | DRAW_LINE | Break of Structure вверх (продолжение бычьего тренда) |
| **10** | BOS_Dn | DRAW_LINE | Break of Structure вниз (продолжение медвежьего тренда) |
| **11** | MSS_Up | DRAW_LINE | Market Structure Shift вверх (смена тренда на бычий) |
| **12** | MSS_Dn | DRAW_LINE | Market Structure Shift вниз (смена тренда на медвежий) |
| **13** | Equilibrium | DRAW_LINE | Уровень Equilibrium (50% диапазона structure swings) |
| **14** | Premium2 | DRAW_LINE | Уровень Premium зоны (2-й уровень, default 80%) |
| **15** | Discount2 | DRAW_LINE | Уровень Discount зоны (2-й уровень, default 80%) |
| **16, 17** | FVG_Top, FVG_Bot | DRAW_FILLING (plot 16) | FVG зона: Top=верхняя граница, Bot=нижняя. `0.0` = нет зоны |
| **18, 19** | iFVG_Top, iFVG_Bot | DRAW_FILLING (plot 17) | iFVG зона (инверсия FVG). `0.0` = нет зоны |
**Пустые значения:**
- Буферы 0-15: `EMPTY_VALUE` (DBL_MAX) = нет данных
- Буферы 16-19 (FVG/iFVG): `0.0` = нет зоны, ненулевое = зона активна
### 3.2. Расчётные буферы (INDICATOR_CALCULATIONS)
| Buffer Index | Имя | Описание |
|:---:|------|------|
| **20** | CalcSsHigh | Промежуточный максимум (ss_high) для Liquidity Swings |
| **21** | CalcSsLow | Промежуточный минимум (ss_low) для Liquidity Swings |
| **22** | CalcBswHigh | Бар промежуточного максимума |
| **23** | CalcBswLow | Бар промежуточного минимума |
| **24** | CalcSwHigh | Текущий Swing High значение |
| **25** | CalcSwLow | Текущий Swing Low значение |
| **26** | CalcBarSwHigh | Бар текущего Swing High |
| **27** | CalcBarSwLow | Бар текущего Swing Low |
| **28** | CalcDirBig | **Направление тренда**: `1.0`=бычий, `-1.0`=медвежий, `0.0`=не определён |
---
## 4. Ключевые буферы для торговых решений
### 4.1. Тренд (буфер 28 — CalcDirBig)
Самый важный буфер для EA. Определяет глобальное направление тренда.
```mql5
double trend[];
ArraySetAsSeries(trend, true);
CopyBuffer(g_ict_handle, 28, 0, 3, trend);
int current_trend = (int)trend[1]; // подтверждённый тренд
// 1 = бычий (ищем Buy)
// -1 = медвежий (ищем Sell)
// 0 = не определён (ждём)
```
**Логика смены тренда:**
- BOS_Up (буфер 9) → подтверждение бычьего тренда (продолжение)
- BOS_Dn (буфер 10) → подтверждение медвежьего тренда (продолжение)
- MSS_Up (буфер 11) → **смена** тренда на бычий (контртренд → тренд)
- MSS_Dn (буфер 12) → **смена** тренда на медвежий (контртренд → тренд)
### 4.2. BOS/MSS (буферы 9-12)
Горизонтальные уровни пробоя структуры. Значение = цена уровня, `EMPTY_VALUE` = нет события.
```mql5
double bos_up[], bos_dn[], mss_up[], mss_dn[];
ArraySetAsSeries(bos_up, true);
ArraySetAsSeries(bos_dn, true);
ArraySetAsSeries(mss_up, true);
ArraySetAsSeries(mss_dn, true);
CopyBuffer(g_ict_handle, 9, 0, 3, bos_up);
CopyBuffer(g_ict_handle, 10, 0, 3, bos_dn);
CopyBuffer(g_ict_handle, 11, 0, 3, mss_up);
CopyBuffer(g_ict_handle, 12, 0, 3, mss_dn);
// Проверка: произошёл ли BOS/MSS на подтверждённом баре
bool has_bos_up = (bos_up[1] != EMPTY_VALUE);
bool has_mss_up = (mss_up[1] != EMPTY_VALUE);
```
**Важно:** BOS/MSS буферы показывают **пробитые** уровни. Линия рисуется от бара структурного свинга до бара пробоя. Непробитые (текущие) уровни тоже рисуются через эти буферы (Step 12 логика), пока не произойдёт пробой.
### 4.3. Уровни ликвидности (буферы 3-8)
3 ближайших уровня Supply (сверху) и 3 ближайших Demand (снизу).
```mql5
double sup1[], sup2[], sup3[]; // Supply (сопротивление)
double dem1[], dem2[], dem3[]; // Demand (поддержка)
ArraySetAsSeries(sup1, true); ArraySetAsSeries(dem1, true);
// ... SetAsSeries для остальных
CopyBuffer(g_ict_handle, 3, 0, 3, sup1); // Ближайший Supply
CopyBuffer(g_ict_handle, 4, 0, 3, dem1); // Ближайший Demand
CopyBuffer(g_ict_handle, 5, 0, 3, sup2); // 2-й Supply
CopyBuffer(g_ict_handle, 6, 0, 3, sup3); // 3-й Supply
CopyBuffer(g_ict_handle, 7, 0, 3, dem2); // 2-й Demand
CopyBuffer(g_ict_handle, 8, 0, 3, dem3); // 3-й Demand
```
Уровни обновляются побарно. `EMPTY_VALUE` = уровень отсутствует.
Когда цена пробивает уровень (sweep), он удаляется и заменяется следующим.
### 4.4. Equilibrium / Premium / Discount (буферы 13-15)
```mql5
double eq[], prem2[], disc2[];
ArraySetAsSeries(eq, true);
ArraySetAsSeries(prem2, true);
ArraySetAsSeries(disc2, true);
CopyBuffer(g_ict_handle, 13, 0, 3, eq); // Equilibrium (50%)
CopyBuffer(g_ict_handle, 14, 0, 3, prem2); // Premium2 (80%)
CopyBuffer(g_ict_handle, 15, 0, 3, disc2); // Discount2 (80%)
```
- **Equilibrium** — 50% уровень между Structure High и Structure Low
- **Premium** — зона выше Equilibrium (перекупленность → ищем Sell)
- **Discount** — зона ниже Equilibrium (перепроданность → ищем Buy)
- Premium2/Discount2 — более экстремальные зоны (настраивается через inp_pre_dis2, default 80%)
### 4.5. FVG / iFVG зоны (буферы 16-19)
```mql5
double fvg_top[], fvg_bot[], ifvg_top[], ifvg_bot[];
ArraySetAsSeries(fvg_top, true); ArraySetAsSeries(fvg_bot, true);
ArraySetAsSeries(ifvg_top, true); ArraySetAsSeries(ifvg_bot, true);
CopyBuffer(g_ict_handle, 16, 0, 3, fvg_top);
CopyBuffer(g_ict_handle, 17, 0, 3, fvg_bot);
CopyBuffer(g_ict_handle, 18, 0, 3, ifvg_top);
CopyBuffer(g_ict_handle, 19, 0, 3, ifvg_bot);
// Проверка: есть ли FVG зона на текущем баре
bool has_fvg = (fvg_top[1] != 0.0 && fvg_bot[1] != 0.0);
if(has_fvg)
{
double zone_top = fvg_top[1];
double zone_bot = fvg_bot[1];
// Зона между zone_bot и zone_top
}
```
**FVG (Fair Value Gap)** — ценовой разрыв из 3 баров:
- Demand FVG: `low[bar] > high[bar+2]` (зазор вверх, цена ещё вернётся)
- Supply FVG: `high[bar] < low[bar+2]` (зазор вниз, цена ещё вернётся)
**iFVG (Inverted FVG)** — FVG, через которую цена прошла **закрытием** (не фитилём), меняя полярность:
- Supply FVG → Demand iFVG (close > fvg_top)
- Demand FVG → Supply iFVG (close < fvg_bot)
**Митигация:** зона закрывается когда цена полностью проходит через неё.
### 4.6. Свинги (буферы 0-2, 20-27)
```mql5
double zigzag[], liq_swing[], str_swing[];
ArraySetAsSeries(zigzag, true);
ArraySetAsSeries(liq_swing, true);
ArraySetAsSeries(str_swing, true);
CopyBuffer(g_ict_handle, 0, 0, 100, zigzag); // ZigZag
CopyBuffer(g_ict_handle, 1, 0, 100, liq_swing); // Liquidity Swing точки
CopyBuffer(g_ict_handle, 2, 0, 100, str_swing); // Structure Swing точки
// Текущие значения свингов
double sw_high[], sw_low[];
ArraySetAsSeries(sw_high, true);
ArraySetAsSeries(sw_low, true);
CopyBuffer(g_ict_handle, 24, 0, 3, sw_high); // CalcSwHigh
CopyBuffer(g_ict_handle, 25, 0, 3, sw_low); // CalcSwLow
```
**Два типа свингов:**
- **Liquidity Swings** (сила=5) — более частые, определяют уровни ликвидности и ZigZag
- **Structure Swings** (сила=10) — менее частые, определяют BOS/MSS и тренд
---
## 5. Концептуальная модель ICT Entry
### Поток сигнала для Buy (бычий):
```
1. Liquidity Sweep (Demand) → цена пробила уровень поддержки и вернулась
2. Тренд = бычий (in_dir_big=1) → подтверждено через Structure Swings
3. iFVG (Demand) существует → зона инверсии (поддержка)
4. Цена в Discount зоне → ниже Equilibrium (выгодная цена)
5. → BUY сигнал
```
### Поток сигнала для Sell (медвежий):
```
1. Liquidity Sweep (Supply) → цена пробила уровень сопротивления и вернулась
2. Тренд = медвежий (in_dir_big=-1)
3. iFVG (Supply) существует → зона инверсии (сопротивление)
4. Цена в Premium зоне → выше Equilibrium (невыгодная цена)
5. → SELL сигнал
```
---
## 6. Пример: минимальная интеграция в EA
```mql5
// В OnTick():
double trend_buf[2], eq_buf[2], fvg_top_buf[2], fvg_bot_buf[2];
double ifvg_top_buf[2], ifvg_bot_buf[2], sup1_buf[2], dem1_buf[2];
ArraySetAsSeries(trend_buf, true);
ArraySetAsSeries(eq_buf, true);
ArraySetAsSeries(fvg_top_buf, true);
ArraySetAsSeries(fvg_bot_buf, true);
ArraySetAsSeries(ifvg_top_buf, true);
ArraySetAsSeries(ifvg_bot_buf, true);
ArraySetAsSeries(sup1_buf, true);
ArraySetAsSeries(dem1_buf, true);
// Читаем ключевые буферы (bar 1 = подтверждённый)
CopyBuffer(g_ict_handle, 28, 0, 2, trend_buf); // Тренд
CopyBuffer(g_ict_handle, 13, 0, 2, eq_buf); // Equilibrium
CopyBuffer(g_ict_handle, 16, 0, 2, fvg_top_buf); // FVG Top
CopyBuffer(g_ict_handle, 17, 0, 2, fvg_bot_buf); // FVG Bot
CopyBuffer(g_ict_handle, 18, 0, 2, ifvg_top_buf); // iFVG Top
CopyBuffer(g_ict_handle, 19, 0, 2, ifvg_bot_buf); // iFVG Bot
CopyBuffer(g_ict_handle, 3, 0, 2, sup1_buf); // Supply 1
CopyBuffer(g_ict_handle, 4, 0, 2, dem1_buf); // Demand 1
int trend = (int)trend_buf[1];
double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
double bid = SymbolInfoDouble(_Symbol, SYMBOL_BID);
// Пример простой логики Buy:
bool bullish = (trend == 1);
bool has_ifvg_buy = (ifvg_top_buf[1] != 0.0);
bool in_discount = (eq_buf[1] != EMPTY_VALUE && ask < eq_buf[1]);
if(bullish && has_ifvg_buy && in_discount)
{
// Проверить зону входа: цена внутри iFVG
if(ask >= ifvg_bot_buf[1] && ask <= ifvg_top_buf[1])
{
// BUY сигнал!
}
}
```
---
## 7. Важные нюансы
### 7.1. AS_SERIES
Все буферы индикатора используют `AS_SERIES = true`:
- Индекс `0` = текущий (live) бар
- Индекс `1` = последний закрытый (подтверждённый) бар
- Индекс `N` = N баров назад
При `CopyBuffer` с `ArraySetAsSeries(buf, true)` сохраняется та же нумерация.
### 7.2. Подтверждённые vs live данные
- `bar[0]` — обновляется каждый тик, данные могут измениться
- `bar[1]` — подтверждён при закрытии, стабилен
- Для торговых решений используйте `bar[1]`
- Для отображения/мониторинга можно использовать `bar[0]`
### 7.3. Пустые значения
| Буферы | Пустое значение | Значение |
|--------|:---:|------|
| 0-15 (линии, стрелки) | `EMPTY_VALUE` (DBL_MAX) | Нет данных на этом баре |
| 16-19 (FVG filling) | `0.0` | Нет зоны на этом баре |
### 7.4. Timing расчёта
Индикатор рассчитывает:
- **Полный пересчёт** при первом запуске или смене таймфрейма
- **Инкрементальный** при новом баре (только `bar=1`)
- **UpdateBar0** каждый тик (FVG зоны на live баре)
Свинги подтверждаются с задержкой в `strength` баров (5 для Liquidity, 10 для Structure).
### 7.5. Таймфрейм
Индикатор работает на любом таймфрейме. Рекомендуется использовать тот же таймфрейм в EA, что и на графике.
### 7.6. Мультитаймфрейм
Для MTF-анализа создайте несколько хэндлов:
```mql5
int h_m15 = iCustom(_Symbol, PERIOD_M15, "\\Shared Projects\\...", ...);
int h_h1 = iCustom(_Symbol, PERIOD_H1, "\\Shared Projects\\...", ...);
```
---
## 8. Краткая таблица: какой буфер для какой задачи
| Задача | Буфер(ы) | Индекс |
|--------|----------|:---:|
| Определить тренд | CalcDirBig | **28** |
| Найти ближайшее сопротивление | Liquidity_Up1 | **3** |
| Найти ближайшую поддержку | Liquidity_Dn1 | **4** |
| Обнаружить пробой структуры вверх | BOS_Up | **9** |
| Обнаружить пробой структуры вниз | BOS_Dn | **10** |
| Обнаружить смену тренда вверх | MSS_Up | **11** |
| Обнаружить смену тренда вниз | MSS_Dn | **12** |
| Определить зону Equilibrium | Equilibrium | **13** |
| Определить Premium зону | Premium2 | **14** |
| Определить Discount зону | Discount2 | **15** |
| Найти зону FVG | FVG_Top + FVG_Bot | **16, 17** |
| Найти зону iFVG | iFVG_Top + iFVG_Bot | **18, 19** |
| Текущий Swing High | CalcSwHigh | **24** |
| Текущий Swing Low | CalcSwLow | **25** |
---
## 9. Input-параметры (полный список)
Параметры передаются в `iCustom()` в порядке их объявления:
| # | Параметр | Тип | Default | Описание |
|---|----------|-----|---------|----------|
| 1 | `inp_len` | int | 5 | Сила пивота Liquidity Swings |
| 2 | `inp_len_in` | int | 10 | Сила пивота Structure Swings |
| 3 | `inp_valid_con` | string | "Close" | Метод валидации pullback |
| 4 | `inp_calc_bars` | int | 2000 | Баров для расчёта |
| 5 | `inp_follow_trend` | bool | true | Фильтрация по тренду |
| 6 | `inp_zz_col` | color | clrNONE | Цвет ZigZag |
| 7 | `inp_zz_style` | ENUM_LINE_STYLE | STYLE_DOT | Стиль ZigZag |
| 8 | `inp_zz_width` | int | 1 | Толщина ZigZag |
| 9 | `inp_lsw_col` | color | clrRed | Цвет Liquidity Swing |
| 10 | `inp_lsw_size` | int | 1 | Размер Liquidity Swing |
| 11 | `inp_ssw_col` | color | clrDodgerBlue | Цвет Structure Swing |
| 12 | `inp_ssw_size` | int | 4 | Размер Structure Swing |
| 13 | `inp_bos_up_col` | color | clrDodgerBlue | Цвет BOS вверх |
| 14 | `inp_bos_dn_col` | color | clrCoral | Цвет BOS вниз |
| 15 | `inp_bos_style` | ENUM_LINE_STYLE | STYLE_DOT | Стиль BOS |
| 16 | `inp_bos_width` | int | 1 | Толщина BOS |
| 17 | `inp_mss_up_col` | color | clrDodgerBlue | Цвет MSS вверх |
| 18 | `inp_mss_dn_col` | color | clrCoral | Цвет MSS вниз |
| 19 | `inp_mss_style` | ENUM_LINE_STYLE | STYLE_DASH | Стиль MSS |
| 20 | `inp_mss_width` | int | 1 | Толщина MSS |
| 21 | `inp_show_lid` | bool | false | Показывать уровни ликвидности |
| 22 | `inp_lid_col` | color | clrGreen | Цвет ликвидности |
| 23 | `inp_lid_size1` | int | 1 | Размер ближайшего уровня |
| 24 | `inp_lid_size2` | int | 1 | Размер 2-3 уровней |
| 25 | `inp_pre_dis` | int | 50 | Premium/Discount % |
| 26 | `inp_pre_dis2` | int | 80 | Premium/Discount 2-й уровень % |
| 27 | `inp_eq_con` | bool | false | Фильтрация по зонам |
| 28 | `inp_eq_col` | color | clrOrchid | Цвет Equilibrium |
| 29 | `inp_eq_style` | ENUM_LINE_STYLE | STYLE_DASH | Стиль Equilibrium |
| 30 | `inp_eq_width` | int | 1 | Толщина Equilibrium |
| 31 | `inp_pd_col` | color | clrPurple | Цвет Premium/Discount |
| 32 | `inp_pd_style` | ENUM_LINE_STYLE | STYLE_DOT | Стиль Premium/Discount |
| 33 | `inp_pd_width` | int | 1 | Толщина Premium/Discount |
| 34 | `inp_qty_fvg_hist` | int | 500 | Глубина истории FVG (бары) |
| 35 | `inp_fvg_obj_col` | color | clrDeepSkyBlue | Цвет FVG объектов |
| 36 | `inp_fvg_buf_col` | color | clrNONE | Цвет FVG буферов |
| 37 | `inp_ifvg_obj_col` | color | clrDodgerBlue | Цвет iFVG объектов |
| 38 | `inp_ifvg_buf_col` | color | clrNONE | Цвет iFVG буферов |
| 39 | `inp_show_fvg` | bool | true | Показывать FVG |
| 40 | `inp_show_ifvg` | bool | false | Показывать iFVG |
| 41 | `inp_fvg_trend_only` | bool | true | Только зоны по тренду |
| 42 | `inp_fvg_eq_filter` | bool | false | Фильтр FVG по Equilibrium |
| 43 | `inp_fvg_eq_strict` | bool | false | Строгий режим фильтра |
| 44 | `inp_fvg_eq_use_lvl2` | bool | false | Использовать 2-й уровень |
**Примечание:** при использовании из EA визуальные параметры (цвета, стили, толщины) можно оставить по умолчанию — они влияют только на отображение на графике, не на данные буферов.