Стратегия длинных и коротких сигналов на основе индикатора QQE и индикатора RSI

RSI QQE
Дата создания: 2024-05-27 15:17:45 Последнее изменение: 2024-05-27 15:17:45
Копировать: 0 Количество просмотров: 830
1
Подписаться
1617
Подписчики

Стратегия длинных и коротких сигналов на основе индикатора QQE и индикатора RSI

Обзор

Стратегия основана на QQE и RSI, и использует их для вычисления скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения скольжения ско

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

  1. Рассчитывается скользящее среднее значение RSI, RsiMa, в качестве основы для определения тенденции.
  2. Расчет абсолютного отклонения от RSI AttrRsi и расчет его скользящего скользящего среднего MaAtrRsi в качестве основы для оценки колебаний.
  3. Динамическая амплитуда Dar, рассчитанная на основе коэффициента QQE, в сочетании с RsiMa, создает диапазоны длинных и коротких полос в пространственных сигналах.
  4. Оценить связь между RSI и диапазоном пустых сигналов, когда RSI производит многосигналы при прохождении длинной полосы и пустые сигналы при прохождении короткой полосы.
  5. Торговля осуществляется на основе многополосного сигнала, открытие позиции при запускании многополосного сигнала и покупка позиции, а при запускании пустого сигнала - ликвидация позиции.

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

  1. В сочетании с RSI и QQE, он позволяет лучше отслеживать рыночные тенденции и возможности для колебаний.
  2. Используя динамическую частоту колебаний для построения диапазона сигналов, можно адаптироваться к изменениям волатильности рынка.
  3. Сглаживание RSI и колебаний эффективно уменьшает шумовые помехи и частоту торгов.
  4. Логическая ясность, меньше параметров, подходит для дальнейшей оптимизации и улучшения.

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

  1. Эта стратегия может оказаться неэффективной для рынков с низким уровнем волатильности и колебаний.
  2. Отсутствие четкого механизма остановки убытков может привести к более высокому риску выхода из рынка в случае резкого переворота.
  3. Настройка параметров оказывает большое влияние на эффективность стратегии и требует корректировки в зависимости от рынка и разновидности.

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

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

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

Эта стратегия основана на RSI и QQE, которая строит многообеменный сигнал, характеризуется тем, что она улавливает тенденции и улавливает колебания. Логика стратегии ясна, параметры меньше, и она подходит для дальнейшей оптимизации и улучшения. Однако стратегия также имеет определенные риски, такие как контроль отмены, параметры настроек и т. Д.

Исходный код стратегии
/*backtest
start: 2023-05-21 00:00:00
end: 2024-05-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=4
// modified by swigle
// thanks colinmck

strategy("QQE signals bot", overlay=true)


RSI_Period = input(14, title='RSI Length')
SF = input(5, title='RSI Smoothing')
QQE = input(4.236, title='Fast QQE Factor')
ThreshHold = input(10, title="Thresh-hold")

src = close
Wilders_Period = RSI_Period * 2 - 1

Rsi = rsi(src, RSI_Period)
RsiMa = ema(Rsi, SF)
AtrRsi = abs(RsiMa[1] - RsiMa)
MaAtrRsi = ema(AtrRsi, Wilders_Period)
dar = ema(MaAtrRsi, Wilders_Period) * QQE

longband = 0.0
shortband = 0.0
trend = 0

DeltaFastAtrRsi = dar
RSIndex = RsiMa
newshortband = RSIndex + DeltaFastAtrRsi
newlongband = RSIndex - DeltaFastAtrRsi
longband := RSIndex[1] > longband[1] and RSIndex > longband[1] ? max(longband[1], newlongband) : newlongband
shortband := RSIndex[1] < shortband[1] and RSIndex < shortband[1] ? min(shortband[1], newshortband) : newshortband
cross_1 = cross(longband[1], RSIndex)
trend := cross(RSIndex, shortband[1]) ? 1 : cross_1 ? -1 : nz(trend[1], 1)
FastAtrRsiTL = trend == 1 ? longband : shortband

// Find all the QQE Crosses

QQExlong = 0
QQExlong := nz(QQExlong[1])
QQExshort = 0
QQExshort := nz(QQExshort[1])
QQExlong := FastAtrRsiTL < RSIndex ? QQExlong + 1 : 0
QQExshort := FastAtrRsiTL > RSIndex ? QQExshort + 1 : 0

//Conditions

qqeLong = QQExlong == 1 ? FastAtrRsiTL[1] - 50 : na
qqeShort = QQExshort == 1 ? FastAtrRsiTL[1] - 50 : na

// Plotting

plotshape(qqeLong, title="QQE long", text="Long", textcolor=color.white, style=shape.labelup, location=location.belowbar, color=color.green, size=size.tiny)
plotshape(qqeShort, title="QQE short", text="Short", textcolor=color.white, style=shape.labeldown, location=location.abovebar, color=color.red, size=size.tiny)

// trade

//if qqeLong > 0
strategy.entry("buy long", strategy.long, 100, when=qqeLong)
    
if qqeShort > 0
    strategy.close("buy long")
    // strategy.exit("close_position", "buy long", loss=1000)
    // strategy.entry("sell", strategy.short, 1, when=strategy.position_size > 0)