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

SMA MA
Дата создания: 2024-12-12 17:23:02 Последнее изменение: 2024-12-12 17:23:02
Копировать: 0 Количество просмотров: 414
1
Подписаться
1617
Подписчики

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

Обзор

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

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

Стратегия использует пять подвижных средних на 3, 5, 6, 10 и 80 дней, а также случайный шоковый индикатор Stochastic Oscillator. Триггеры торговых сигналов основаны на следующих условиях:

  1. Сигнал покупки: запускается при прохождении MA5 и MA6 на MA10, а также прохождении D на K-линии случайного индикатора колебаний.
  2. Продающий сигнал: срабатывает при прохождении MA10 и MA6 под MA5, а также при прохождении K-линии под D-линией случайного показателя колебаний. Стратегия использует %K-значения 15 циклов и %D-значения 9 циклов для дальнейшего сглаживания сигнала с помощью скользящей средней.

Стратегические преимущества

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

Стратегический риск

  1. Риск отставания: подвижная средняя по своей сути является отстающим показателем, что может привести к незначительной задержке входа и выхода.
  2. Риск волатильности рынка: на боковом и волатильном рынке могут возникать частые ложные сигналы.
  3. Чувствительность параметров: параметры для нескольких показателей требуют тщательного тестирования и могут нуждаться в корректировке в зависимости от рыночных условий.
  4. Конфликт сигналов: несколько показателей могут создавать противоречивые сигналы, поэтому необходимо создать четкий механизм приоритета.

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

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

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

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

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

//@version=5
strategy(title="Moving Average and Stochastic Crossover Strategy", overlay=true)

// Calculate the moving averages
ma3 = ta.sma(close, 3)
ma5 = ta.sma(close, 5)
ma6 = ta.sma(close, 6)
ma10 = ta.sma(close, 10)
ma80 = ta.sma(close, 80)

// Stochastic Oscillator with settings %K(15), %D(9), and slowing 9
k = ta.stoch(close, high, low, 15)
d = ta.sma(k, 9)
slow_d = ta.sma(d, 9)

// Buy signal confirmation: MA10 crosses above MA5, MA6, and K line crosses above D line
buySignalConfirmation = ta.crossover(ma10, ma5) and ta.crossover(ma10, ma6) and ta.crossover(k, d)

// Sell signal confirmation: MA5 crosses above MA10, MA6, and D line crosses above K line
sellSignalConfirmation = ta.crossunder(ma5, ma10) and ta.crossunder(ma5, ma6) and ta.crossunder(d, k)

// Strategy logic
if (buySignalConfirmation)
    strategy.entry("Buy", strategy.long)
    
if (sellSignalConfirmation)
    strategy.entry("Sell", strategy.short)

// Plot the moving averages and Stochastic Oscillator for visualization
plot(ma3, color=color.orange, title="MA3", linewidth=2)
plot(ma5, color=color.blue, title="MA5", linewidth=2)
plot(ma6, color=color.purple, title="MA6", linewidth=2)
plot(ma10, color=color.green, title="MA10", linewidth=2)
plot(ma80, color=color.red, title="MA80", linewidth=2)

plot(k, color=color.blue, title="%K", linewidth=2)
plot(d, color=color.red, title="%D", linewidth=2)
plot(slow_d, color=color.purple, title="Slow %D", linewidth=2)