Стратегия фильтрации на основе коррекционного анализа индекса
Обзор
Данная стратегия использует комбинацию модульной арифметики и экспоненциальной скользящей средней (EMA) для создания стохастического фильтра тренда, который определяет направление позиции. Сначала стратегия вычисляет остаток от деления цены на заданное число; если остаток равен 0, появляется торговый сигнал. Если этот сигнал находится ниже EMA, открывается короткая позиция; если выше EMA — длинная. Стратегия объединяет случайность математических операций с трендовым анализом технических индикаторов, используя перекрёстную проверку на разных периодах, что позволяет эффективно отсеивать часть случайных ценовых движений.
Принцип стратегии
- Задается входное значение цены
a(по умолчаниюclose), которое можно изменить. Задается делительb(по умолчанию 4), также настраиваемый. - Вычисляется остаток от деления
aнаb(modulo). Проверяется, равен ли остаток нулю. - Устанавливается длина EMA (
MALen, по умолчанию 70 периодов) как индикатор средне- и долгосрочного тренда. - Когда
moduloравен 0, генерируется торговый сигналevennumber, а направление определяется относительно EMA. Если цена пересекает EMA вверх — сигнал на покупку (BUY); если цена пересекает EMA вниз — сигнал на продажу (SELL). - Входы в позицию (
entries) выполняются по направлению сигнала: длинная или короткая позиция. Стратегия может ограничивать встречное открытие позиций для контроля числа сделок. - Условия стоп-лосса настраиваются тремя способами: фиксированный стоп-лосс, стоп-лосс на основе ATR, стоп-лосс на основе диапазона ценовых колебаний. Тейк-профит устанавливается как обратное условие стоп-лосса.
- Опционально можно использовать трейлинг-стоп для фиксации большей прибыли; по умолчанию не используется.
Преимущества
- Случайность модульной операции позволяет избежать влияния ценовых колебаний; в сочетании с трендовым фильтром EMA эффективно отсеиваются ложные сигналы.
- EMA как индикатор средне- и долгосрочного тренда в сочетании с краткосрочными сигналами модульной операции обеспечивает многоуровневую проверку, снижая вероятность ложных сигналов.
- Гибкая настройка параметров позволяет адаптировать стратегию к разным рынкам и подбирать оптимальные комбинации.
- Встроены несколько видов стоп-лосса для контроля риска. Также установлены условия тейк-профита для фиксации прибыли.
- Поддерживается прямое встречное открытие позиций, что позволяет бесшовно менять направление. Эту функцию можно отключить, уменьшив количество сделок.
Анализ рисков
- Неправильная настройка параметров может привести к избыточным торговым сигналам, увеличению частоты сделок и затрат на проскальзывание.
- Использование EMA как единственного индикатора тренда может вызывать запаздывание, из-за чего будут упущены моменты разворота цены.
- Фиксированный стоп-лосс может быть слишком механическим и не адаптироваться к рыночным колебаниям.
- Прямое встречное открытие позиций увеличивает частоту изменения направления, повышая торговые издержки и риски.
Направления оптимизации
- Протестировать другие скользящие средние вместо EMA или комбинировать EMA с другими средними для повышения доходности.
- Попробовать объединить модульный фильтр с другими стратегиями, например, с полосами Боллинджера или свечными паттернами, чтобы создать более стабильный фильтр.
- Исследовать адаптивные методы стоп-лосса, которые настраивают расстояние в зависимости от волатильности рынка.
- Установить лимит на количество сделок или порог прибыли/убытка, чтобы ограничить частоту встречных открытий.
Заключение
Стратегия эффективно объединяет случайную фильтрацию (модульная операция) с трендовым анализом (скользящая средняя). Параметры гибко настраиваются, что позволяет адаптировать стратегию к различным рыночным условиям и получать более надёжные торговые сигналы. Встроенные механизмы стоп-лосса контролируют риск, а тейк-профит и трейлинг-стоп фиксируют прибыль. Общая идея стратегии ясна, её легко понять и модифицировать. Стратегия заслуживает дальнейшего тестирования и оптимизации и обладает значительным потенциалом для реальной торговли.
/*backtest
start: 2023-11-12 00:00:00
end: 2023-12-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tweakerID
// To understand this strategy first we need to look into the Modulo (%) operator. The modulo returns the remainder numerator - 1

