Стратегия следования за трендом, основанная на пересечениях скользящих средних


Дата создания: 2024-03-01 10:59:03 Последнее изменение: 2024-03-01 10:59:03
Копировать: 1 Количество просмотров: 633
1
Подписаться
1617
Подписчики

Стратегия следования за трендом, основанная на пересечениях скользящих средних

Обзор

Эта стратегия позволяет отслеживать тенденции, рассчитывая движущиеся средние различных циклов, и устанавливая их пересечения в качестве сигналов покупки и продажи. Основная логика заключается в использовании движущихся средних более коротких циклов для отслеживания тенденций более длительных циклов.

Стратегический принцип

  1. Расчет скользящих средних за 200 и 100 циклов
  2. Когда вы пересекаете 200 циклов скользящей средней на 100 циклов скользящей средней, вы делаете больше
  3. Плюс-пост, когда 100 циклов под 200 циклов
  4. Когда 100 циклов под подвижной средней проходит через 200 циклов подвижной средней, пустота
  5. Когда 100 циклов скользящей средней проходит через 200 циклов скользящей средней, пустое положение

Логика, лежащая в основе вышеуказанных торговых сигналов, заключается в том, что короткопериодические скользящие средние могут быстрее реагировать на изменения цен и отражать последние тенденции; длиннопериодические скользящие средние лучше отражают общую тенденцию, фильтруя шум. Когда короткопериодические скользящие средние пересекают длиннопериодические скользящие средние, это означает, что тенденция изменилась, поэтому устанавливается торговый сигнал.

Анализ преимуществ стратегии

  1. Стратегическая концепция ясна, проста, легко понятна и реализуема
  2. Поиск по переломам тренда с помощью длинных и коротких циклических линий.
  3. Не нужно прогнозировать конкретное направление цены, просто следить за изменением тенденции, снижая погрешность
  4. Возможность адаптации к различным рыночным условиям с помощью оптимизации циклов движущихся средних

Анализ стратегических рисков и решений

  1. При значительных колебаниях тренда может возникать многократное ошибочное сигнализирование, что приводит к убыткам. Решение - это соответствующая корректировка параметров цикла движущихся средних.
  2. Когда внезапные события приводят к быстрому развороту, простая стратегия скользящих средних не может вовремя отреагировать и легко потеряется. Решение заключается в добавлении дополнительных показателей суждения, таких как показатель увеличения количества.
  3. Слишком частое количество сделок может привести к увеличению затрат на сделку и потери скольжения. Решение заключается в соответствующей корректировке параметров цикла движущейся средней и снижении частоты сделок.

Направление оптимизации стратегии

  1. Оптимизация комбинации циклических параметров скользящих средних для большего количества рыночных условий
  2. Добавление фильтров для предотвращения ошибочных сигналов, таких как объем сделок, MACD и т. Д.
  3. Повышение стратегии сдерживания убытков и контроля потери
  4. Оптимизация комбинации параметров для поиска оптимальных параметров

Подвести итог

Эта стратегия является типичной стратегией для отслеживания тенденций. Преимущества этой стратегии заключаются в том, что она проста в понимании, проста в использовании и может быть адаптирована к различным рыночным условиям путем корректировки параметров. Недостатки заключаются в том, что она не чувствительна к реакции на внезапные события и может создавать ошибочные сигналы.

Исходный код стратегии
/*backtest
start: 2023-02-23 00:00:00
end: 2024-02-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("MA Crossover Strategy", overlay=true)

// Функция для получения скользящего среднего на заданном таймфрейме
getMA(source, length, timeframe) =>
    request.security(syminfo.tickerid, timeframe, ta.sma(source, length))

// Вычисляем 200-периодное и 100-периодное скользящее среднее для текущего таймфрейма
ma200 = getMA(close, 200, "240")
ma100 = getMA(close, 100, "240")

// Открываем позицию Long, если 100-периодное скользящее среднее пересекает 200-периодное сверху вниз
if (ta.crossover(ma100, ma200))
    strategy.entry("Long", strategy.long)

// Закрываем позицию Long, если 100-периодное скользящее среднее пересекает 200-периодное сверху вниз
if (ta.crossunder(ma100, ma200))
    strategy.close("Long")

// Открываем позицию Short, если 100-периодное скользящее среднее пересекает 200-периодное сверху вниз
if (ta.crossunder(ma100, ma200))
    strategy.entry("Short", strategy.short)

// Закрываем позицию Short, если 100-периодное скользящее среднее пересекает 200-периодное снизу вверх
if (ta.crossover(ma100, ma200))
    strategy.close("Short")

// Рисуем линии скользящих средних на графике
plot(ma200, color=color.blue, linewidth=2, title="200 MA")
plot(ma100, color=color.red, linewidth=2, title="100 MA")