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


Дата создания: 2023-12-18 10:34:55 Последнее изменение: 2023-12-18 10:34:55
Копировать: 0 Количество просмотров: 713
1
Подписаться
1621
Подписчики

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

Обзор

В этой статье мы рассмотрим квантовую торговую стратегию, основанную на адаптивном экспоненциальном движущемся среднем (AEMA). Эта стратегия использует форму бесконечной волатильности Stochastic Momentum Index (SMI) в сочетании с сигналом движущегося среднего индекса в качестве линии, чтобы установить настраиваемый превышение или перепродажу, чтобы повысить вероятность исполнения сделки.

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

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

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

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

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

Наибольший риск этой стратегии заключается в ее зависимости от параметровой настройки. Если параметры настроены неправильно, легко будет создать большое количество недействительных торговых сигналов. Кроме того, SMI, как тип импульсного индикатора, не идеально подходит для случайных рыночных потрясений.

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

Есть еще несколько направлений, в которых эта стратегия может быть оптимизирована: во-первых, можно тестировать различные комбинации длины SMA, чтобы найти оптимальные параметры; во-вторых, можно рассмотреть возможность установки стоп-порогов вблизи точки входа, чтобы контролировать одиночные потери; в-третьих, можно комбинировать с другими показателями, такими как RSI, Брин-Бенд и т. Д., чтобы установить динамическую линию перекупа; в-четвертых, можно автоматически оптимизировать параметры с помощью алгоритмов машинного обучения; в-пятых, стратегия может быть интегрирована в многофакторную модель для повышения стабильности.

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

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

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

// © DraftVenture

//@version=5
strategy(title="Adaptive SMI Ergodic Strategy", shorttitle="Adaptive SMI Strategy", overlay = false)
longlen = input.int(12, minval=1, title="Long Length")
shortlen = input.int(5, minval=1, title="Short Length")
siglen = input.int(5, minval=1, title="Signal Line Length")
overS = input.float(-0.4, title = "Oversold", step = 0.01)
overB = input.float(0.4, title = "Overbought", step = 0.01)
erg = ta.tsi(close, shortlen, longlen)
sig = ta.ema(erg, siglen)
plot(erg, color = color.yellow, title = "SMI")
plot(sig, color = color.purple, title="Signal")
hline(0, title = "Zero", color = color.gray, linestyle = hline.style_dotted)
h0 = hline(overB, color = color.gray, title = "Overbought Threshold")
h1 = hline(overS, color = color.gray, title = "Oversold Threshold")
fill(h0, h1, color=color.rgb(25, 117, 192, 90), title = "Background")

longEntry = ta.crossover(erg, sig) and erg > overS and sig < overS
shortEntry = ta.crossunder(erg, sig) and erg < overB and sig > overB

if longEntry
    strategy.entry("Long", strategy.long)

if shortEntry
    strategy.entry("Short", strategy.short)

// ______ _________ 
// ___  //_/__  __ \
// __  ,<  __  /_/ /
// _  /| | _  ____/ 
// /_/ |_| /_/