В процессе загрузки ресурсов... загрузка...

Стратегия VWAP и RSI Dynamic Bollinger Bands Take Profit and Stop Loss

Автор:Чао Чжан, Дата: 2024-06-14 15:18:39
Тэги:VWAPРСИББATR

img

Обзор

Эта стратегия сочетает в себе три технических индикатора: VWAP (Volume Weighted Average Price), RSI (Relative Strength Index) и Bollinger Bands, для реализации простой и простой в использовании количественной торговой стратегии с динамическим получением прибыли и остановкой убытков. Основная идея стратегии заключается в использовании индикатора VWAP для определения ценовой тенденции за прошедший период, при этом используя индикаторы RSI и Bollinger Bands для определения того, находится ли цена в пределах перекупленного или перепроданного диапазона, тем самым определяя торговый сигнал. После определения торгового сигнала стратегия рассчитывает динамические уровни получения прибыли и остановки убытков на основе индикатора ATR (Average True Range) для контроля риска и блокировки прибыли.

Принцип стратегии

  1. Вычислить значения технических показателей VWAP, RSI и Bollinger Bands.
  2. Определить, является ли тенденция цены вверх, вниз или в сторону, оценивая взаимосвязь между ценой закрытия и VWAP за последние 15 свечей.
  3. Если цена ниже нижней полосы Боллинджера, то RSI меньше 45, а сигнал VWAP показывает тенденцию к снижению, генерируется длинный сигнал; если цена выше верхней полосы Боллинджера, то RSI больше 55, а сигнал VWAP показывает тенденцию к росту, генерируется короткий сигнал.
  4. После определения торгового сигнала стратегия рассчитывает уровни получения прибыли и стоп-лосса на основе индикатора ATR с соотношением прибыли и стоп-лосса в размере 1,5:1.
  5. Если удерживается длинная позиция, когда RSI больше или равен 90, стратегия закрывает длинную позицию; если удерживается короткая позиция, когда RSI меньше или равен 10, стратегия закрывает короткую позицию.

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

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

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

  1. В периоды высокой волатильности рынка частое торговля может привести к высоким затратам на транзакции.
  2. Если на рынке происходят неожиданные события или иррациональное поведение, стратегия может генерировать неправильные торговые сигналы.
  3. Для обеспечения эффективности стратегии может потребоваться корректировка параметров стратегии в соответствии с различными рыночными условиями.

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

  1. Попробуйте скорректировать параметры VWAP, RSI и Bollinger Bands, чтобы адаптироваться к различным рыночным условиям и торговым инструментам.
  2. Внедрение других технических индикаторов, таких как MACD, KDJ и т.д., для дальнейшего повышения надежности торговых сигналов.
  3. Оптимизировать метод расчета прибыли и стоп-лосса, например, использование последующего стоп-лосса или защиты прибыли, чтобы лучше контролировать риск и блокировать прибыль.
  4. Объединить фундаментальный анализ, такой как экономические данные и изменения политики, для улучшения общей эффективности стратегии.

Резюме

Эта стратегия сочетает в себе три технических индикатора: VWAP, RSI и полосы Боллинджера, для реализации простой и простой в использовании количественной стратегии торговли.


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

//@version=5
strategy("VWAP and RSI Strategy", overlay=true)

// VWAP calculation
vwap = ta.vwap(close)

// RSI calculation
rsi_length = 16
rsi = ta.rsi(close, rsi_length)

// Bollinger Bands calculation
bb_length = 14
bb_std = 2.0
[bb_middle, bb_upper, bb_lower] = ta.bb(close, bb_length, bb_std)

// Variables for VWAP signal calculation
backcandles = 15
float vwapsignal = na

// Function to check if last 15 candles are above or below VWAP
calc_vwapsignal(backcandles) =>
    upt = true
    dnt = true
    for i = 0 to backcandles - 1
        if close[i] < vwap[i]
            upt := false
        if close[i] > vwap[i]
            dnt := false
    if upt and dnt
        3
    else if upt
        2
    else if dnt
        1
    else
        0

// Calculate VWAP signal for each bar
vwapsignal := calc_vwapsignal(backcandles)

// Calculate total signal
totalsignal = 0
if vwapsignal == 2 and close <= bb_lower and rsi < 45
    totalsignal := 2
else if vwapsignal == 1 and close >= bb_upper and rsi > 55
    totalsignal := 1



// Define strategy entry and exit conditions
slatr = 1.2 * ta.atr(7)
TPSLRatio = 1.5

if (totalsignal == 2 and strategy.opentrades == 0)
    strategy.entry("Long", strategy.long, stop=close - slatr, limit=close + slatr * TPSLRatio)

if (totalsignal == 1 and strategy.opentrades == 0)
    strategy.entry("Short", strategy.short, stop=close + slatr, limit=close - slatr * TPSLRatio)

// Additional exit conditions based on RSI
if (strategy.opentrades > 0)
    if (strategy.position_size > 0 and rsi >= 90)
        strategy.close("Long")
    if (strategy.position_size < 0 and rsi <= 10)
        strategy.close("Short")


Связанные

Больше