Количественная торговая стратегия разворота тренда на основе гауссовского канала и стохастического RSI

RSI STOCH EMA SD GC
Дата создания: 2025-02-20 16:41:36 Последнее изменение: 2025-02-20 16:41:36
Копировать: 3 Количество просмотров: 372
2
Подписаться
319
Подписчики

Количественная торговая стратегия разворота тренда на основе гауссовского канала и стохастического RSI Количественная торговая стратегия разворота тренда на основе гауссовского канала и стохастического RSI

Обзор

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

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

Основная логика стратегии включает в себя следующие ключевые части:

  1. Конструкция Гаустского канала: используется 20-циклическая показательная скользящая средняя ((EMA) в качестве центральной оси канала, а верхняя и нижняя границы канала - центральная ось плюс уменьшение стандартного отклонения в 2 раза.
  2. Расчет случайного RSI: сначала рассчитывается RSI на 14 циклов, затем на значение RSI применяется случайная формула на 14 циклов, и, наконец, результаты сглаживаются на 3 цикла, чтобы получить K-линию и D-линию.
  3. Генерирование торговых сигналов: когда цена прорывает Gaussian channel и пересекает D-линию на случайной линии K RSI, генерируется многосигналный сигнал; когда цена падает на Gaussian channel и выходит на позицию.

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

  1. Сигнальная надежность высока: в сочетании с двумерными показателями тренда и динамики, можно эффективно снизить ложный сигнал.
  2. Усовершенствованный контроль риска: использование динамических свойств канала Gauss, позволяющих автоматически корректировать торговые зоны в соответствии с рыночными колебаниями.
  3. Адаптируемость: с помощью параметрической разработки стратегия может адаптироваться к различным рыночным условиям и видам торгов.
  4. Высокая эффективность исполнения: четкая логика стратегии, небольшой объем вычислений, подходящий для торговли в реальном времени.

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

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

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

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

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

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

Исходный код стратегии
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"BNB_USDT"}]
*/

//@version=5
strategy("SAJJAD JAMSHIDI Channel with Stochastic RSI Strategy", overlay=true, commission_type=strategy.commission.percent, commission_value=0.1, slippage=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, process_orders_on_close=true)

// Gaussian Channel Inputs
lengthGC = input.int(20, "Gaussian Channel Length", minval=1)
multiplier = input.float(2.0, "Standard Deviation Multiplier", minval=0.1)

// Calculate Gaussian Channel
basis = ta.ema(close, lengthGC)
deviation = multiplier * ta.stdev(close, lengthGC)
upperChannel = basis + deviation
lowerChannel = basis - deviation

// Plot Gaussian Channel
plot(basis, "Basis", color=color.blue)
plot(upperChannel, "Upper Channel", color=color.green)
plot(lowerChannel, "Lower Channel", color=color.red)

// Stochastic RSI Inputs
rsiLength = input.int(14, "RSI Length", minval=1)
stochLength = input.int(14, "Stochastic Length", minval=1)
smoothK = input.int(3, "Smooth K", minval=1)
smoothD = input.int(3, "Smooth D", minval=1)

// Calculate RSI
rsi = ta.rsi(close, rsiLength)

// Calculate Stochastic RSI
lowestRSI = ta.lowest(rsi, stochLength)
highestRSI = ta.highest(rsi, stochLength)
stochRSI = (rsi - lowestRSI) / (highestRSI - lowestRSI) * 100
k = ta.sma(stochRSI, smoothK)
d = ta.sma(k, smoothD)

// Trading Conditions
stochUp = k > d
priceAboveUpper = ta.crossover(close, upperChannel)
priceBelowUpper = ta.crossunder(close, upperChannel)




strategy.entry("Long", strategy.long, when=priceAboveUpper and stochUp)
strategy.close("Long", when=priceBelowUpper)