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


Дата создания: 2023-09-21 10:28:27 Последнее изменение: 2023-09-21 10:28:27
Копировать: 0 Количество просмотров: 449
1
Подписаться
1229
Подписчики

Обзор

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

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

Эта стратегия реализуется в основном через следующие шаги:

  1. Настройка fastMA и slowMA.

  2. В зависимости от типа ввода Type, рассчитывается быстрая скользящая средняя fast и медленная скользящая средняя slow.

  3. Настройка диапазона времени отсчета start и finish

  4. Определение перекрестных функций: когда fast проходит через slow снизу, создается сигнал покупать; когда fast проходит через slow сверху, создается сигнал продавать.

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

  6. В конце диапазона отсчета или при прохождении под крестовой функцией, выдается указание на закрытие продажи.

  7. Тренд-карта быстрого и медленного скользящего среднего значения.

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

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

Эта стратегия имеет следующие преимущества:

  1. Использование скользящих средних для определения трендов очень эффективно и позволяет эффективно фильтровать случайные колебания.

  2. В сочетании с медленно-быстрыми скользящими средними можно определить изменение тренда.

  3. Можно адаптироваться к тенденциям разных периодов, регулируя параметры скользящих средних.

  4. Вы можете выбрать простую или индексированную скользящую среднюю.

  5. Параметры стратегии могут быть протестированы и оптимизированы с помощью функции обратной связи.

  6. Стратегическая логика проста, понятна и легко понятна.

  7. Графики скользящих средних позволяют интуитивно оценивать тенденции и эффективность.

Анализ рисков

Однако эта стратегия также несет в себе некоторые риски:

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

  2. Подвижная средняя имеет отсталость и может пропустить поворотный момент.

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

  4. Не учитывается влияние на стоимость сделки.

  5. Нет установленной стратегии стоп-лосса.

  6. Неразумные параметры могут повлиять на эффективность стратегии.

  7. Неправильно выбранный диапазон времени отслеживания может привести к пересоответствию.

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

Эта стратегия может быть оптимизирована в следующих аспектах:

  1. В сочетании с другими индикаторами, такими как MACD, RSI и т. д. для проверки сигналов, повышается точность.

  2. Добавление стратегии стоп-лосса для контроля одиночных потерь.

  3. Оптимизация параметров скользящих средних для различных периодов.

  4. Добавление управления открытыми позициями, использование различных позиций в разных условиях рынка.

  5. С учетом стоимости сделки, изменение входных и выходных точек.

  6. Проверяйте данные на более длительный промежуток времени, чтобы избежать пересчета.

  7. Продолжайте оптимизировать параметры с помощью walks forward analysis.

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

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

Исходный код стратегии
/*backtest
start: 2023-09-13 00:00:00
end: 2023-09-20 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// strategy("MavCrossover v2", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

// Revision:        1
// Author:          @ToS_MavericK

// === INPUT SMA ===
fastMA  = input(defval = 13,  title = "FastMA", minval = 1, step = 1)
slowMA  = input(defval = 144,  title = "SlowMA", minval = 1, step = 1)
Type    = input(defval = 1,  title = "Type (1 = SMA, 2 = EMA)", minval = 1, maxval = 2, step = 1)
SlowMAIsFactor = input(false)

slowMA := SlowMAIsFactor == true ? round(fastMA * slowMA) : slowMA

// === INPUT BACKTEST RANGE ===
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromYear  = input(defval = 2018, title = "From Year", minval = 2012)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToYear    = input(defval = 2020, title = "To Year", minval = 2012)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"

// === MA SETUP ===
fast = Type == 1 ? sma(close, fastMA) : ema(close, fastMA)
slow = Type == 1 ? sma(close, slowMA) : ema(close, slowMA)

// === EXECUTION ===
strategy.entry("L", strategy.long, when = crossover(fast, slow) and window())   // buy long when "within window of time" AND crossover
strategy.close("L", when = crossunder(fast, slow) or time > finish)             // sell long when window ends OR crossunder         

plot(fast, title = 'FastMA', color = yellow, linewidth = 2, style = line)  // plot FastMA
plot(slow, title = 'SlowMA', color = aqua, linewidth = 2, style = line)    // plot SlowMA