Статьи об анализе данных и статистике в MQL5

icon

Статьи на темы математических моделей и законов вероятности заинтересуют многих трейдеров. Ведь математика положена в основу технических индикаторов, а знание статистики необходимо для анализа результатов торговли и разработки стратегий.

Читайте о нечеткой логике, цифровых фильтрах, рыночном профиле, картах Кохонена, нейронном газе и многих других инструментах, которые могут использованы для торговли.

Новая статья
последние | лучшие
preview
От новичка до эксперта: Утилита для управления параметрами

От новичка до эксперта: Утилита для управления параметрами

Представьте, что вы преобразовали традиционные входные свойства советника или индикатора в интерфейс управления графиком в режиме реального времени. Это обсуждение основано на нашей фундаментальной работе над индикатором Market Period Synchronizer, что знаменует собой значительную эволюцию в том, как мы визуализируем рыночные структуры на старших таймфреймах (HTF) и управляем ими. Здесь мы превращаем эту концепцию в полностью интерактивную утилиту — информационная панель, которая обеспечивает динамический контроль и улучшенную многопериодную визуализацию ценового движения непосредственно на графике. Присоединяйтесь к нам, и мы узнаем, как это нововведение меняет способ взаимодействия трейдеров со своими инструментами.
preview
Моделирование рынка (Часть 04): Создание класса C_Orders (I)

Моделирование рынка (Часть 04): Создание класса C_Orders (I)

В данной статье мы начнем создание класса C_Orders, чтобы иметь возможность отправлять ордера на торговый сервер. Мы будем делать это понемногу, поскольку наша цель состоит в том, чтобы подробно объяснить, как это будет происходить с помощью системы обмена сообщениями.
preview
Гипотеза случайности: поиск скрытых паттернов в ценовых рядах

Гипотеза случайности: поиск скрытых паттернов в ценовых рядах

В статье описан тест гипотезы случайности для котировок на основе статистики хи-квадрат, построенной по частотам перекрывающихся s-цепочек. Показано, как формировать дискретные состояния и сравнивать наблюдаемые и ожидаемые частоты, чтобы обнаруживать марковскую память в приращениях цены. Подход помогает отделить структурные зависимости от шума и формализовать проверку торговых гипотез.
preview
Торговый инструментарий MQL5 (Часть 5): Расширение EX5-библиотеки для управления историей с помощью функций позиции

Торговый инструментарий MQL5 (Часть 5): Расширение EX5-библиотеки для управления историей с помощью функций позиции

В этой статье мы узнаем, как создавать экспортируемые EX5-функции для эффективного запроса и сохранения исторических данных о позициях. В этом пошаговом руководстве мы расширим EX5-библиотеку для управления историей (History Management), разработав модули, которые извлекают ключевые свойства последней закрытой позиции. К ним относятся чистая прибыль, продолжительность сделки, стоп-лосс и тейк-профит в пипсах, значения прибыли и другие важные данные.
preview
Алгоритм Цветовой Гармонии — Color Harmony Algorithm (CHA)

Алгоритм Цветовой Гармонии — Color Harmony Algorithm (CHA)

Разбираем алгоритм цветовой гармонии (CHA) — метаэвристику оптимизации, опирающуюся на теорию цветовой гармонии Манселла. Показываем устройство круга тонов, шаблоны гармонии, чередование фаз концентрации и рассеивания, а также роль памяти решений. От теоретического каркаса до рабочей реализации на MQL5 и честного тестирования на стандартном бенчмарке.
preview
Разработка системы репликации (Часть 67): Совершенствуем индикатор управления

Разработка системы репликации (Часть 67): Совершенствуем индикатор управления

В данной статье мы рассмотрим, чего можно добиться с помощью небольшой доработки кода. Данная доработка направлена на упрощение нашего кода, более активное использование вызовов библиотеки MQL5 и, прежде всего, на то, чтобы сделать его гораздо более стабильным, безопасным и простым для использования в другом коде, который мы будем разрабатывать в будущем.
preview
Торговые инструменты на MQL5 (Часть 11): Панель корреляционной матрицы (Пирсон, Спирман, Кенделл) с тепловой картой и стандартным режимом

Торговые инструменты на MQL5 (Часть 11): Панель корреляционной матрицы (Пирсон, Спирман, Кенделл) с тепловой картой и стандартным режимом

В этой статье мы создаем панель корреляционной матрицы в MQL5 для вычисления взаимосвязей между активами с использованием методов Пирсона (Pearson), Спирмена (Spearman) и Кенделла (Kendall) за заданный таймфрейм и количество баров. Система предлагает стандартный режим с цветовыми порогами и звездочками p-значений, а также режим тепловой карты с градиентными визуальными элементами силы корреляции. Он включает в себя интерактивный пользовательский интерфейс с селекторами таймфреймов, переключателями режимов и динамической легендой для эффективного анализа взаимозависимостей символов.
preview
Алгоритм кристаллической структуры — Crystal Structure Algorithm (CryStAl)

Алгоритм кристаллической структуры — Crystal Structure Algorithm (CryStAl)

В статье представлены две версии Алгоритма кристаллической структуры, оригинальная и модифицированная. Алгоритм Crystal Structure Algorithm (CryStAl), опубликованный в 2021 году и вдохновленный физикой кристаллических структур, позиционировался как parameter-free метаэвристика для глобальной оптимизации. Однако тестирование выявило критическую проблему алгоритма. Представлена также модифицированная версия CryStAlm, которая исправляет ключевые недостатки оригинала.
preview
Разработка инструментария для анализа Price Action (Часть 52): Визуальный анализ структуры рынка на нескольких таймфреймах

Разработка инструментария для анализа Price Action (Часть 52): Визуальный анализ структуры рынка на нескольких таймфреймах

В этой статье представлен инструмент Multi-Timeframe Visual Analyzer на языке MQL5, который воссоздает и накладывает свечи старших таймфреймов прямо на активный график. В статье рассматриваются реализация, ключевые входные параметры и практические результаты; материал дополнен анимированной демонстрацией и примерами графиков, показывающими мгновенное переключение, подтверждение на нескольких таймфреймах и настраиваемые алерты. Читайте дальше, чтобы узнать, как этот инструмент делает анализ графиков быстрее, нагляднее и эффективнее.
preview
Моделирование рынка (Часть 13): Сокеты (VII)

Моделирование рынка (Часть 13): Сокеты (VII)

Когда мы разрабатываем что-то в xlwings или в любом другом пакете, позволяющем читать и писать непосредственно в Excel, мы должны заметить, что все программы, функции или процедуры выполняются, а затем завершают свою задачу. Они не остаются в цикле, и неважно, как сильно мы стараемся сделать всё по-другому.
preview
Валютный граф и справедливая цена 28 пар через DFS по кросс-путям

Валютный граф и справедливая цена 28 пар через DFS по кросс-путям

В статье показано, как вместо треугольного арбитража использовать полный валютный граф из 8 валют и 28 пар. Для каждой пары DFS перечисляет простые кросс‑пути длиной от 2 до N рёбер, а справедливая цена получается как взвешенное геометрическое среднее в лог‑пространстве. Отклонение рынка от этой оценки служит источником mean‑reversion сигналов.
preview
Машинное обучение и Data Science (Часть 43): Поиск скрытых паттернов в индикаторах с помощью моделей латентных гауссовых смесей LGMM

Машинное обучение и Data Science (Часть 43): Поиск скрытых паттернов в индикаторах с помощью моделей латентных гауссовых смесей LGMM

У вас когда-нибудь возникало ощущение, что за графиком скрывается что-то большее, какая-то закономерность? Какой-то секретный код, расшифровав который, вы могли бы точно понять, куда движутся цены? Представляю вашему вниманию LGMM — детектор скрытых закономерностей на рынке. Эта модель машинного обучения помогает выявлять такие скрытые закономерности на рынке.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 55): SAC с приоритетным воспроизведением опыта

Возможности Мастера MQL5, которые вам нужно знать (Часть 55): SAC с приоритетным воспроизведением опыта

Буферы воспроизведения в обучении с подкреплением особенно важны при использовании алгоритмов вне политики (off-policy), таких как DQN или SAC. Это выводит на первый план процесс выборки буфера памяти. В то время как параметры по умолчанию с SAC, например, используют случайный выбор из буфера, буферы с приоритетным воспроизведением опыта (Prioritized Experience Replay buffers) обеспечивают точную настройку путем выборки из буфера на основе оценки TD. Мы рассмотрим важность обучения с подкреплением и, как всегда, изучим только одну гипотезу (без перекрестной проверки) в созданном Мастером советнике.
preview
Разработка системы репликации (Часть 71): Настройка времени (IV)

Разработка системы репликации (Часть 71): Настройка времени (IV)

В этой статье мы рассмотрим, как реализовать то, что было показано в предыдущей статье, в сервисе репликации/моделирования. Но, как и во многих других случаях, в жизни обязательно возникают проблемы. И данный случай не стал исключением. Дальше вы узнаете тему следующей статьи из этой серии. Представленные здесь материалы предназначены только для обучения. Ни в коем случае нельзя рассматривать это приложение как окончательное, цели которого будут иные, кроме изучения представленных концепций.
preview
Торговый инструментарий MQL5 (Часть 7): Расширение EX5-библиотеки для управления историей функциями последнего отмененного отложенного ордера

Торговый инструментарий MQL5 (Часть 7): Расширение EX5-библиотеки для управления историей функциями последнего отмененного отложенного ордера

Мы завершаем создание последнего модуля в EX5-библиотеке для управления историей (History Manager), сосредоточившись на функциях, отвечающих за обработку последнего отмененного отложенного ордера. Это позволит эффективно извлекать и хранить ключевые данные, связанные с отмененными отложенными ордерами с помощью MQL5.
preview
Архитектура системы машинного обучения в MetaTrader 5 (Часть 3): Метод разметки сканированием тренда

Архитектура системы машинного обучения в MetaTrader 5 (Часть 3): Метод разметки сканированием тренда

Мы создали надежный конвейер разработки признаков на основе тиковых баров, чтобы исключить утечку данных, и решили критическую проблему разметки с помощью метода тройных барьеров и мета-разметки. В этой части рассматривается продвинутая техника разметки — сканирование тренда — для адаптивных горизонтов. После изложения теории будет показан пример использования меток сканирования тренда в сочетании с мета-разметкой для улучшения классической стратегии на основе пересечения скользящих средних.
preview
Новый подход к пользовательским критериям при оптимизациях (Часть 1): Примеры функций активации

Новый подход к пользовательским критериям при оптимизациях (Часть 1): Примеры функций активации

Это первая из серии статей, посвященных математическим аспектам создания пользовательских критериев с особым акцентом на нелинейных функциях, применяемых в нейросетях, MQL5-коде для реализации, а также на использования целевых и корректирующих смещений.
preview
Разработка инструментария для анализа Price Action (Часть 30): Советник CCI Zero Line

Разработка инструментария для анализа Price Action (Часть 30): Советник CCI Zero Line

Будущее – за автоматизацией анализа движения цен. В этой статье мы используем индикатор Dual CCI (Commodity Channel Index – индекс товарного канала), стратегию пересечения нулевой линии (Zero Line Crossover), EMA и анализ движения цены, чтобы разработать инструмент, который генерирует торговые сигналы и задает уровни стоп-лосса и тейк-профита с помощью ATR. Прочитайте эту статью, чтобы узнать наш подход к разработке советника CCI Zero Line.
preview
Оптимизация Роем Жуков — Beetle Swarm Optimization (BSO)

Оптимизация Роем Жуков — Beetle Swarm Optimization (BSO)

Рассматриваем гибрид BAS+PSO (BSO), где BAS добавляет локальный сигнал направления, а PSO обеспечивает обмен лучшими решениями в рое. Приведены математическая модель, псевдокод, реализация класса на MQL5 и результаты тестирования в типовом стенде. Материал позволяет воспроизвести алгоритм, настроить параметры и понять, как трёхкратные оценки за итерацию отражаются на эффективности.
preview
Моделирование рынка (Часть 08): Сокеты (II)

Моделирование рынка (Часть 08): Сокеты (II)

Как вам идея создать что-то практичное с помощью сокетов? В сегодняшней статье мы начнем создавать мини-чат. Давайте рассмотрим вместе, как это делается, - это будет очень интересно. Помните, что приведенный здесь код предназначен исключительно для образовательных целей. Не стоит использовать его в коммерческих целях или в готовых приложениях, так как он не обеспечивает безопасности передачи данных и можно увидеть содержимое, передаваемое по сокету.
preview
Машинное обучение и Data Science (Часть 40): Использование уровней Фибоначчи в данных машинного обучения

Машинное обучение и Data Science (Часть 40): Использование уровней Фибоначчи в данных машинного обучения

Уровни коррекции Фибоначчи — популярный инструмент в техническом анализе. Их используют для определения потенциальных зон разворота. В этой статье мы рассмотрим, как эти уровни коррекции можно преобразовать в целевые переменные для моделей машинного обучения, чтобы помочь им лучше понимать рынок.
preview
Создание пользовательских индикаторов в MQL5 (Часть 8): Интеграция объёма для углублённого анализа рыночного профиля (Market Profile)

Создание пользовательских индикаторов в MQL5 (Часть 8): Интеграция объёма для углублённого анализа рыночного профиля (Market Profile)

В этой статье мы расширяем гибридный индикатор рыночного профиля Time Price Opportunity (TPO) в MQL5 за счёт интеграции данных объёма для расчёта точки контроля по объёму, области стоимости и средневзвешенной по объёму цены с настраиваемыми вариантами подсветки. Система вводит расширенные возможности, такие как определение начального баланса, линии продления ключевых уровней, режим split-профиля и альтернативные TPO-символы, например квадраты или круги, для улучшенного анализа графика на нескольких таймфреймах.
preview
Создание индикатора ZigZag со статистикой волн в MQL5

Создание индикатора ZigZag со статистикой волн в MQL5

Индикатор ZigZag дополняется количественной оценкой длин волн: для восходящих и нисходящих движений считаются текущая длина, максимум, минимум, среднее и медиана, обновляемые на каждом новом баре. Разбираются ключевые элементы реализации: поиск экстремумов в скользящем окне, конечный автомат пивотов, инкрементальный пересчёт и отключение визуального слоя в тестере. Практическая польза — объективные численные ориентиры вместо визуальной оценки на глаз.
preview
Разработка инструментария для анализа Price Action (Часть 48): Индекс гармонии нескольких таймфреймов с панелью взвешенного смещения

Разработка инструментария для анализа Price Action (Часть 48): Индекс гармонии нескольких таймфреймов с панелью взвешенного смещения

В этой статье представлен инструмент "Multi-Timeframe Harmony Index" – продвинутый советник для MetaTrader 5, который рассчитывает взвешенное смещение рынка по нескольким таймфреймам, сглаживает значения с помощью EMA и выводит результат на аккуратной панели на графике. Он поддерживает настраиваемые алерты и автоматически наносит сигналы покупки и продажи на график, когда значение смещения пересекает значимые пороги. Подходит трейдерам, которые используют анализ нескольких таймфреймов, чтобы соотносить точки входа с общей структурой рынка.
preview
Алгоритм поисковой оптимизации Эбола — Ebola Optimization Search Algorithm (EOSA)

Алгоритм поисковой оптимизации Эбола — Ebola Optimization Search Algorithm (EOSA)

В статье рассматривается алгоритм EOSA, вдохновлённый механизмами распространения вируса Эбола: короткодистанционной передачей через близкий контакт (эксплуатация) и длиннодистанционной передачей через путешествия (исследование). Анализ оригинальной публикации выявил критические проблемы в математических формулах и нереализуемую на практике эпидемиологическую модель, что потребовало существенной переработки алгоритма для получения работоспособной реализации.
preview
Ординальное кодирование номинальных переменных

Ординальное кодирование номинальных переменных

В настоящей статье мы обсудим и продемонстрируем, как преобразовать номинальные предикторы в числовые форматы, подходящие для алгоритмов машинного обучения, используя как Python, так и MQL5.
preview
Разработка системы репликации (Часть 60): Нажатие кнопки воспроизведения в сервисе (I)

Разработка системы репликации (Часть 60): Нажатие кнопки воспроизведения в сервисе (I)

Мы уже давно работаем только над индикаторами, но теперь пришло время снова заставить сервис работать, и мы видим, как строится график на основе предоставленных данных. Однако, поскольку не всё так просто, придется быть внимательным, чтобы понять то, что ждет нас впереди.
preview
Разработка инструментария для анализа Price Action (Часть 51): Инновационная технология поиска свечных паттернов на графике

Разработка инструментария для анализа Price Action (Часть 51): Инновационная технология поиска свечных паттернов на графике

Эта статья предназначена для алгоритмических трейдеров, количественных аналитиков и разработчиков MQL5, которые хотят глубже разобраться в распознавании свечных паттернов на практике. В ней подробно рассматривается советник CandlePatternSearch.mq5 – полноценная система для обнаружения, визуализации и отслеживания классических свечных формаций в MetaTrader 5. Помимо детального разбора кода, в статье рассматриваются архитектура решения, логика обнаружения паттернов, интеграция графического интерфейса и механизмы алертов, а также показано, как можно эффективно автоматизировать традиционный анализ Price Action.
preview
Переосмысливаем классические стратегии (Часть 14): Анализ нескольких стратегий

Переосмысливаем классические стратегии (Часть 14): Анализ нескольких стратегий

В этой статье мы продолжаем построение ансамбля торговых стратегий с использованием генетического оптимизатора MT5 для настройки параметров стратегий. Сегодня мы проанализируем данные в Python, чтобы проверить, сможет ли такая модель лучше предсказывать, какая стратегия окажется более успешной и какая сработает точнее, и окажется ли это эффективнее прямого прогнозирования доходности. Сразу скажу, что тестирование приложения с такой статистической моделью показало резкое ухудшение в результатах. Все дело в генетическом оптимизаторе — к сожалению, он отдает предпочтение коррелированным стратегиям. Поэтому мы пересмотрим метод, чтобы сохранить фиксированные веса голосов и сосредоточить оптимизацию на настройках индикаторов.
preview
От новичка до эксперта: Создание подробных торговых отчетов с помощью советника Reporting EA

От новичка до эксперта: Создание подробных торговых отчетов с помощью советника Reporting EA

В настоящей статье мы подробно рассмотрим усовершенствование деталей торговых отчетов и отправку окончательного документа по электронной почте в формате PDF. Это знаменует собой прогресс по сравнению с нашей предыдущей работой, поскольку мы продолжаем изучать, каким образом использовать возможности MQL5 и Python для создания и планирования торговых отчетов в наиболее удобных и профессиональных форматах. Присоединяйтесь к нам в этой дискуссии, чтобы узнать больше об оптимизации формирования торговых отчетов в экосистеме MQL5.
preview
Архитектура системы машинного обучения в MetaTrader 5 (Часть 1): Утечка данных и исправление меток времени

Архитектура системы машинного обучения в MetaTrader 5 (Часть 1): Утечка данных и исправление меток времени

Прежде чем мы сможем даже начать использовать машинное обучение в нашей торговле на MetaTrader 5, крайне важно разобраться с одной из самых недооцененных ловушек — утечкой данных. Эта статья раскрывает, как утечка данных, в частности ловушка с метками времени в MetaTrader 5, может исказить производительность нашей модели и привести к ненадежным торговым сигналам. Углубляясь в механику этой проблемы и предлагая стратегии ее предотвращения, мы прокладываем путь к созданию надежных моделей машинного обучения, которые будут давать достоверные прогнозы в условиях реальной торговли.
preview
Алгоритм искусственной коронарной циркуляции — Artificial Coronary Circulation System (ACCS)

Алгоритм искусственной коронарной циркуляции — Artificial Coronary Circulation System (ACCS)

Метаэвристический алгоритм, имитирующий рост коронарных артерий в сердце человека для задач оптимизации. Использует принципы ангиогенеза (роста новых сосудов), бифуркации (разветвления) и обрезки слабых ветвей для поиска оптимальных решений в многомерном пространстве. Проверка его эффективности на широком спектре задач принесла неожиданные результаты.
preview
Моделирование рынка (Часть 15): Сокеты (IX)

Моделирование рынка (Часть 15): Сокеты (IX)

В этой статье мы расскажем об одном из возможных решений того, что мы пытались показать, то есть как позволить пользователю Excel выполнить действие в MetaTrader 5 без отправки ордеров, открытия или закрытия позиции. Идея заключается в том, что пользователь использует Excel для проведения фундаментального анализа какого-то символа. И что при использовании только Excel, можно указать советнику, работающему в MetaTrader 5, открыть или закрыть определенную позицию.
preview
Разработка системы репликации (Часть 70): Настройка времени (III)

Разработка системы репликации (Часть 70): Настройка времени (III)

В данной статье мы рассмотрим, как правильно и эффективно использовать функцию CustomBookAdd. Несмотря на кажущуюся простоту, она имеет множество нюансов. Например, позволяет сообщить указателю мыши, находится ли пользовательский символ на аукционе, торгуется ли он или рынок закрыт. Представленные здесь материалы предназначены только для обучения. Ни в коем случае нельзя рассматривать это приложение как окончательное, цели которого будут иные, кроме изучения представленных концепций.
preview
Разработка системы репликации (Часть 64): Нажатие кнопки воспроизведения в сервисе (V)

Разработка системы репликации (Часть 64): Нажатие кнопки воспроизведения в сервисе (V)

В данной статье мы рассмотрим, как исправить две ошибки в коде. Однако я постараюсь объяснить их так, чтобы вы, начинающие программисты, поняли, что не всегда всё происходит так, как вы предполагали. Но это не повод отчаиваться, это возможность учиться. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте это приложение как окончательное, цели которого иные, кроме изучения представленных концепций.
preview
Конвейеры обработки данных (пайплайны) в MQL5

Конвейеры обработки данных (пайплайны) в MQL5

В этой статье рассмотрим ключевой этап подготовки данных для машинного обучения, который быстро приобретает все большее значение. Конвейеры предварительной обработки данных. По сути, это упрощенная последовательность этапов преобразования данных, на которых происходит подготовка исходных данных перед их передачей в модель. Какой бы неинтересной она ни показалась непосвященным на первый взгляд, такая «стандартизация данных» не только экономит время обучения и затраты на выполнение, но и в значительной степени способствует более качественному обобщению. В этой статье сосредоточимся на некоторых функциях предварительной обработки SCIKIT-LEARN и, хотя мы не будем использовать Мастер MQL5, вернемся к нему в последующих статьях.
preview
Алгоритм эволюции элитных кристаллов — Elite Crystal Evolution Algorithm (CEO-inspired): Теория

Алгоритм эволюции элитных кристаллов — Elite Crystal Evolution Algorithm (CEO-inspired): Теория

Представлен новый авторский популяционный алгоритм ECEA, вдохновлённый процессом замерзания воды и адаптирующий идеи алгоритма Crystal Energy Optimizer, (CEO) с поиском на графах, для общих задач оптимизации. Алгоритм использует динамическую элитную группу, три стратегии поиска и механизм периодической диверсификации.
preview
Алгоритм Стрекозы — Dragonfly Algorithm (DA)

Алгоритм Стрекозы — Dragonfly Algorithm (DA)

В данной статье рассмотрим алгоритм стрекозы (Dragonfly Algorithm, DA), вдохновлённый коллективным поведением стрекоз в природе — их способностью координировать полёт в стае, избегая столкновений, следуя за добычей и уклоняясь от хищников. Разберём, как пять простых поведенческих правил и адаптивный механизм перехода от исследования к эксплуатации реализуются на MQL5, и проверим алгоритм на нашем тестовом стенде.
preview
Разработка системы репликации (Часть 74): Новый Chart Trade (I)

Разработка системы репликации (Часть 74): Новый Chart Trade (I)

В этой статье мы изменим последний код, показанный в данной серии о Chart Trade. Эти изменения необходимы, чтобы адаптировать код к текущей модели системы репликации/моделирования. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте его как окончательное приложение, целью которого не является изучение представленных концепций.
preview
Разработка инструментария для анализа Price Action (Часть 40): ДНК-профиль рынка

Разработка инструментария для анализа Price Action (Часть 40): ДНК-профиль рынка

В этой статье рассматривается уникальный профиль каждой валютной пары через призму исторической динамики ее цены. Вдохновляясь концепцией генетической ДНК, которая задает уникальный генетический код каждого живого существа, мы применяем аналогичный подход к рынкам, рассматривая динамику цены как "ДНК" каждой валютной пары. Анализируя такие структурные характеристики, как волатильность, свинги, откаты, всплески и особенности сессий, инструмент выявляет базовый профиль, который отличает одну пару от другой. Этот подход дает более глубокое понимание поведения рынка и помогает трейдерам системно соотносить стратегии с естественными склонностями каждого инструмента.