Стратегия следования за медленным стохастическим трендом


Дата создания: 2023-12-28 17:50:36 Последнее изменение: 2023-12-28 17:50:36
Копировать: 0 Количество просмотров: 402
1
Подписаться
1228
Подписчики

Стратегия следования за медленным стохастическим трендом

Обзор

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

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

Сначала стратегия рассчитывает K-значение SMA-линии длиной 400 циклов, а затем рассчитывает SMA-линию длиной 275 циклов для дальнейшего сглаживания K-линии. Это делает окончательную K-линию очень гладкой, в основном отражая только основную тенденцию рынка.

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

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

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

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

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

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

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

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

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

  1. Настройка циклов сглаживания значений K и D для поиска оптимального сочетания параметров

  2. Тестирование различных ценовых вводов, таких как цена закрытия, типичная цена и т. д.

  3. Увеличение объема торговли или контроля позиций, такие как ATR-остановка, контроль за использованием средств и т. д.

  4. Добавление вспомогательных суждений по таким показателям, как MACD, чтобы избежать ошибочного входа

  5. Оптимизация параметров с помощью машинного обучения

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

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

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

//@version=4
strategy(title="Slow Stochastic OB/OS Strategy", overlay=false )

smoothK = input(400, step=5) 
price = input(ohlc4)
SMAsmoothK = input(275, step=5)
k = sma(stoch(price, high, low, smoothK), SMAsmoothK)
plot(k, color=white)


smoothD = input(10, step=2)
d = sma(k, smoothD)
plot(d, color=red)


OB = input(78.5, step=0.5)
OS = input(23, step=0.5)
hline(OB, linewidth=1, color=red)
hline(OS,linewidth=1, color=green)
hline(50,linewidth=1, color=gray)


long = crossover(d, OS)
short = crossunder(d, OB)

strategy.entry("Long", strategy.long, when=long) //_signal or long) //or closeshort_signal)
strategy.entry("Short", strategy.short, when=short) //_signal or short) // or closelong_signal)

//If you want to try to play with exits you can activate these!

closelong = crossover(d, OB)
closeshort = crossunder(d, OS)

strategy.close("Long", when=closelong)
strategy.close("Short", when=closeshort)