RSI CCI Williams%R Количественная стратегия торговли

Автор:Чао Чжан, Дата: 2024-01-24 11:18:08
Тэги:

img

Обзор стратегии

Эта стратегия сочетает в себе три индикатора классификации: RSI, CCI и Williams%R, чтобы генерировать эффективные торговые сигналы. Она будет выдавать сигналы покупки или продажи, когда все три индикатора одновременно отображают сигналы перекупления или перепродажи. По сравнению с использованием одного индикатора, эта композитная стратегия фильтрует больше ложных сигналов и улучшает стабильность.

Стратегия называется Стратегия троллейбусов с тремя путями. Стратегия троллейбусов с тремя путями относится к комбинации RSI, CCI и Williams%R. Trawler аналогизирует эту стратегию с возможностями трала, как рыболовный троллейбус.

Логика стратегии

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

  1. Индикатор RSI, оценивающий уровни перекупленности/перепроданности
  2. Индикатор CCI, определяющий точки преломления
  3. Индикатор Williams%R, подтверждающий торговые сигналы

Когда RSI ниже 25, это сигнализирует о состоянии перепродажи. Когда RSI выше 75, это сигнализирует о состоянии перекупки. Такая же логика применяется к параметрам CCI и Williams%R.

Когда все три индикатора одновременно показывают сигналы покупки, т.е. RSI < 25, CCI < -130, Williams %R < -85, стратегия будет длинной. Когда все три индикатора одновременно показывают сигналы продажи, т.е. RSI > 75, CCI > 130, Williams %R > -15, стратегия будет короткой.

Это позволяет избежать ложных сигналов от одного индикатора и повышает надежность.

Преимущества

  1. Комбинация из нескольких показателей фильтрует ложные сигналы
    Объединяя RSI, CCI и Williams%R, стратегия отфильтровывает некоторые ложные сигналы от отдельных индикаторов, улучшая точность.

  2. Автоматическая остановка потерь/прибыли управляет рисками Встроенные функции остановки потерь и получения прибыли автоматически устанавливают цены выхода для каждой сделки, эффективно ограничивая потери в пределах допустимых порогов.

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

  4. Солидные данные обратных испытаний
    Стратегия использует 45-минутные слитки EUR/USD, основную валютную пару с обильной ликвидностью и данными, что снижает риски избыточного использования из-за недостаточных данных.

Риски

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

  2. Отсутствие краткосрочных колебаний При использовании 45-минутных бар, стратегия упускает выгодные возможности из-за более частых краткосрочных колебаний цен.

  3. Системные риски
    В период тяжелого экономического кризиса, который потрясает мировой валютный рынок, его правила торговли могут потерпеть неудачу и привести к огромным потерям.

Области улучшения

  1. Добавление показателей, следующих за тенденцией
    Попробуйте включить трендовые показатели, такие как MA, Boll и т. Д., Чтобы помочь в распознавании долгосрочных трендов.

  2. Оптимизация параметров стоп-лосса/прибыли Проверьте более исторические данные, чтобы оценить влияние различных параметров стоп-лосса/прибыли на конечную рентабельность, чтобы найти оптимальную настройку.

  3. Расширение продукции
    В настоящее время в основном применяется к EUR / USD. Мы можем попытаться развернуть его на других основных валютных пар, таких как GBP, JPY, AUD, чтобы изучить его стабильность и переносимость.

Заключение

Стратегия Three Trail Trawler определяет точки переворота цен для сигналов перекупленности/перепроданности с использованием комбинации RSI, CCI и Williams %R. По сравнению с отдельными показателями эта многоиндикаторная настройка фильтрует больше ложных сигналов и улучшает точность. Автоматизированные функции стоп-лосса/прибыли также помогают ограничить торговые риски. В целом, это стабильная стратегия, подходящая для среднесрочной торговли и может быть ценным модулем в наших количественных системах. Тем не менее, нам нужно обратить внимание на ее недостатки в выявлении долгосрочных трендов и улавливании краткосрочных колебаний. Мероприятия тонкой настройки, такие как добавление метрик тренда, оптимизация параметров выхода и расширение продуктов, улучшат стратегию в качестве стабильной прибыли для наших систем двигателя.


/*backtest
start: 2024-01-16 00:00:00
end: 2024-01-23 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("RSI CCI Williams %R Strategy with TP and SL", overlay=true)

// Input parameters for indicators
rsi_period = input(14, title="RSI Period")
cci_period = input(20, title="CCI Period")
williams_period = input(14, title="Williams %R Period")

// Thresholds for overbought and oversold conditions
rsi_oversold = input(25, title="RSI Oversold Level")
rsi_overbought = input(75, title="RSI Overbought Level")
cci_oversold = input(-130, title="CCI Oversold Level")
cci_overbought = input(130, title="CCI Overbought Level")
williams_oversold = input(-85, title="Williams %R Oversold Level")
williams_overbought = input(-15, title="Williams %R Overbought Level")

// Take profit and stop loss levels as a percentage
take_profit_pct = input(1.2, title="Take Profit (%)") / 100
stop_loss_pct = input(0.45, title="Stop Loss (%)") / 100

// Indicator calculations
rsi = ta.rsi(close, rsi_period)
cci = ta.cci(close, cci_period)
highestHigh = ta.highest(high, williams_period)
lowestLow = ta.lowest(low, williams_period)
williamsR = (highestHigh - close) / (highestHigh - lowestLow) * -100

// Entry conditions
longCondition = rsi < rsi_oversold and cci < cci_oversold and williamsR < williams_oversold and strategy.position_size == 0
shortCondition = rsi > rsi_overbought and cci > cci_overbought and williamsR > williams_overbought and strategy.position_size == 0

// Execute strategy entry orders
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit or Stop Loss Long", "Long", limit=close * (1 + take_profit_pct), stop=close * (1 - stop_loss_pct))

if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit or Stop Loss Short", "Short", limit=close * (1 - take_profit_pct), stop=close * (1 + stop_loss_pct))

// Plot the signals on the chart
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, text="BUY")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, text="SELL")

// Plot the indicators for visualization
plot(rsi, title="RSI", color=color.blue)
plot(cci, title="CCI", color=color.purple)
plot(williamsR, title="Williams %R", color=color.orange)

Больше