Динамическая стратегия стоп-профита и стоп-лосса VWAP и RSI на основе полос Боллинджера

VWAP RSI BB ATR
Дата создания: 2024-06-14 15:18:39 Последнее изменение: 2024-06-14 15:18:39
Копировать: 1 Количество просмотров: 888
1
Подписаться
1617
Подписчики

Динамическая стратегия стоп-профита и стоп-лосса VWAP и RSI на основе полос Боллинджера

Обзор

Стратегия объединяет три технических показателя: VWAP (средняя цена, взвешенная по объему сделки), RSI (относительно сильный индекс) и буринская полоса, чтобы реализовать простую и легкую в использовании количественную торговую стратегию с помощью динамического стоп-стоп. Основная идея стратегии заключается в том, чтобы использовать показатель VWAP для определения движения цены за прошедший период времени, а также в сочетании с показателем RSI и индикатором буринской полосы для определения того, находится ли цена в пределах перекупа или перепродажи, чтобы определить торговый сигнал.

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

  1. Вычислите значения трех технических показателей VWAP, RSI и BRI.
  2. Определение ценового движения вверх, вниз или встряхивание определяется, судя по взаимосвязи закрытия цены за последние 15 K-линий с VWAP.
  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 и Brin Belt, чтобы адаптироваться к различным рыночным условиям и торговым видам.
  2. Для дальнейшего повышения надежности торговых сигналов могут быть введены другие технические показатели, такие как MACD, KDJ и т. д.
  3. Можно оптимизировать методы расчета стоп-стоп, например, использовать мобильный стоп или стоп-стоп для защиты прибыли, чтобы лучше контролировать риск и блокировать прибыль.
  4. Для улучшения комплексной эффективности стратегии может быть использован фундаментальный анализ, например, экономические данные, изменения в политике и т.д.

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

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

Исходный код стратегии
/*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")