Стратегия стекирования скользящей средней


Дата создания: 2024-01-22 12:21:47 Последнее изменение: 2024-01-22 12:21:47
Копировать: 2 Количество просмотров: 906
1
Подписаться
1617
Подписчики

Стратегия стекирования скользящей средней

Обзор

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

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

Эта стратегия основана на восьми движущихся средних: 20-й, 25-й, 30-й, 35-й, 40-й, 45-й, 50-й и 55-й. Эти восемь движущихся средних образуют переплет движущихся средних, идущих снизу вверх.

Например, когда 20-я линия пробивает 55-ю линию с нижнего направления, создается сигнал покупки; когда 20-я линия падает с верхнего направления до 55-й линии, создается сигнал продажи.

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

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

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

  2. Несколько скользящих средних построены на переплетениях, чтобы сделать торговые сигналы более четкими.

  3. В сочетании с долгосрочными и краткосрочными скользящими средними, учитываются как долгосрочные тенденции рынка, так и краткосрочные корректировки.

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

  5. Стратегическая логика проста и понятна, легко понятна и реализуема.

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

Однако есть и другие риски, связанные с подвижной средней:

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

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

  3. Неправильная настройка параметров может привести к чрезмерной чувствительности или чрезмерной задержке. Необходимо повторно тестировать параметры оптимизации.

  4. Внезапные события, вызывающие быстрый прыжок в воздух, могут привести к неэффективности стратегии.

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

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

  1. Настройка циклических параметров движущихся средних для поиска оптимальной комбинации параметров.

  2. Добавление других технических показателей для фильтрации и подтверждения сигналов, повышение точности сигналов.

  3. Снижение частоты торгов в условиях низкой волатильности в сочетании с волатильностью.

  4. Устанавливайте стратегию стоп-лосса и контролируйте убытки.

  5. Оптимизация стратегии управления капиталом и повышение доходности.

  6. Тестирование параметров устойчивости контрактов различных сортов. Поиск оптимальных сортов.

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

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

Исходный код стратегии
/*backtest
start: 2024-01-14 00:00:00
end: 2024-01-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="EMA Ribbon [Krypt] with Buy/Sell Signals", shorttitle="EMA Ribbon", overlay=true)

dropn(src, n) =>
    na(src[n]) ? na : src

length1 = input(20, title="MA-1 period", minval=1)
length2 = input(25, title="MA-2 period", minval=1)
length3 = input(30, title="MA-3 period", minval=1)
length4 = input(35, title="MA-4 period", minval=1)
length5 = input(40, title="MA-5 period", minval=1)
length6 = input(45, title="MA-6 period", minval=1)
length7 = input(50, title="MA-7 period", minval=1)
length8 = input(55, title="MA-8 period", minval=1)
source_input = input(close, title="Source")

price = dropn(source_input, 1)

ema1 = ema(price, length1)
ema2 = ema(price, length2)
ema3 = ema(price, length3)
ema4 = ema(price, length4)
ema5 = ema(price, length5)
ema6 = ema(price, length6)
ema7 = ema(price, length7)
ema8 = ema(price, length8)

plot(ema1, title="MA-1", color=#f5eb5d, transp=0, linewidth=2)
plot(ema2, title="MA-2", color=#f5b771, transp=0, linewidth=2)
plot(ema3, title="MA-3", color=#f5b056, transp=0, linewidth=2)
plot(ema4, title="MA-4", color=#f57b4e, transp=0, linewidth=2)
plot(ema5, title="MA-5", color=#f56d58, transp=0, linewidth=2)
plot(ema6, title="MA-6", color=#f57d51, transp=0, linewidth=2)
plot(ema7, title="MA-7", color=#f55151, transp=0, linewidth=2)
plot(ema8, title="MA-8", color=#aa2707, transp=0, linewidth=2)

// Buy and sell signals based on crossover and crossunder
buySignal = crossover(ema1, ema8)
sellSignal = crossunder(ema1, ema8)

plotshape(series=buySignal, title="Buy Signal", color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sellSignal, title="Sell Signal", color=color.red, style=shape.triangledown, size=size.small)

if buySignal
    strategy.entry("Enter Long", strategy.long)
else if sellSignal
    strategy.entry("Enter Short", strategy.short)