Количественная торговая стратегия подтверждения прорыва двойного импульса

WPR RSI
Дата создания: 2024-12-13 10:37:00 Последнее изменение: 2024-12-13 10:37:00
Копировать: 0 Количество просмотров: 102
1
Подписаться
1166
Подписчики

Количественная торговая стратегия подтверждения прорыва двойного импульса

Обзор

Это количественная торговая стратегия, основанная на двойном подтверждении прорыва динамики по индикатору Уильяма ((Williams %R) и относительно сильному индикатору ((RSI)). Эта стратегия эффективно снижает риск ложных прорывов, подтверждая торговые сигналы, наблюдая за перекрестными прорывами двух динамических индикаторов. Стратегия ищет возможности для торговли в зонах сверхпокупок и сверхпродаж, чтобы повысить точность торговли путем совместного подтверждения двух индикаторов.

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

Стратегия использует Williams %R на 30 циклов и RSI на 7 циклов в качестве основных показателей. Когда Williams %R переходит вверх -80 и RSI одновременно переходит вверх -20, вызывается многосигнал; когда Williams %R переходит вниз -20 и RSI одновременно переходит вниз -80, вызывается пустой сигнал. Этот механизм двойного подтверждения эффективно отфильтровывает ложные сигналы, которые может создать один показатель.

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

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

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

  1. Слишком много торговых сигналов может появиться на рынке в условиях колебаний
  2. Двойная проверка может привести к задержке ввода
  3. Фиксированный предел перекупа и перепродажи может нуждаться в корректировке в различных рыночных условиях
  4. Краткосрочный RSI может быть более чувствительным к колебаниям цен
  5. Необходимо учитывать влияние транзакционных издержек на доходность стратегии

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

  1. Внедрение фильтров тренда для предотвращения контртр-трейдинга на рынках с сильной тенденцией
  2. Добавление мобильного механизма по удержанию убытков для защиты как прибыли, так и убытков
  3. Разработка адаптированного метода расчета находящихся в переуступке пределных значений
  4. Оптимизация комбинации циклических параметров Williams %R и RSI
  5. Рассмотреть возможность включения показателя объема сделок в качестве вспомогательного подтверждающего сигнала

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

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

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

//@version=5
strategy("Williams %R + RSI Strategy", overlay=true)

// Inputs for Williams %R
wpr_length = input.int(30, title="Williams %R Length", minval=1)
wpr_upper = input.int(-20, title="Williams %R Upper Band", minval=-100, maxval=0)
wpr_lower = input.int(-80, title="Williams %R Lower Band", minval=-100, maxval=0)

// Inputs for RSI
rsi_length = input.int(7, title="RSI Length", minval=1)
rsi_upper = input.int(80, title="RSI Upper Band", minval=0, maxval=100)
rsi_lower = input.int(20, title="RSI Lower Band", minval=0, maxval=100)

// Calculate Williams %R Manually
highest_high = ta.highest(high, wpr_length)
lowest_low = ta.lowest(low, wpr_length)
wpr = ((highest_high - close) / (highest_high - lowest_low)) * -100

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

// Entry and Exit Conditions
longCondition = ta.crossover(wpr, wpr_lower) and ta.crossover(rsi, rsi_lower)
shortCondition = ta.crossunder(wpr, wpr_upper) and ta.crossunder(rsi, rsi_upper)

// Plot Buy/Sell Signals
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Strategy Entry and Exit
if (longCondition)
    strategy.entry("Buy", strategy.long)

if (shortCondition)
    strategy.entry("Sell", strategy.short)