Количественная стратегия DPD-RSI-BB


Дата создания: 2023-11-22 16:17:52 Последнее изменение: 2023-11-22 16:18:14
Копировать: 0 Количество просмотров: 667
1
Подписаться
1617
Подписчики

Количественная стратегия DPD-RSI-BB

Обзор

Количественная стратегия DPD-RSI-BB - это стратегия торговли акциями, в которой одновременно используются три показателя: DPD, RSI и буринская полоса. Эта стратегия использует DPD для определения тенденции, RSI для определения перекупа и перепродажи, а буринская полоса - для определения поддерживающего давления.

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

Стратегия состоит из следующих частей:

  1. Показатели DPD оценивают тенденции

Используйте двойные средние ЭМА, чтобы построить среднюю линию DEMA, и вычислите отношение цены к разнице в цене DEMA в качестве индикатора тренда, который используется в качестве позитивного сигнала, когда разница в цене ниже, чем установленная отметка.

  1. RSI показывает, что мы перекупаем и перепродаем

Рассчитывается значение RSI в течение определенного периода, когда RSI выше, чем установленный верхний предел, считается сверхпокупной зоной, а RSI ниже, чем установленный нижний предел, считается сверхпродажной зоной.

  1. Брин поддерживает давление с помощью суждения

Расчет средних, верхних и нижних треков определенного цикла, цены, приближающиеся к верхним трекам, как сигнал о понижении, цены, приближающиеся к нижним трекам, как сигнал о повышении.

  1. Общее мнение

Положительный сигнал возникает, когда коэффициент разрыва DPD ниже отклонения, RSI ниже нижней границы зоны перепродажи, а цена ниже отклонения от пояса бурин. Положительный сигнал возникает, когда RSI выше верхней границы зоны перепродажи, коэффициент разрыва DPD выше отклонения, а цена выше пояса бурин.

Анализ преимуществ

Эта стратегия имеет следующие преимущества:

  1. Необходимо сочетать несколько показателей, чтобы избежать ошибочных сигналов от одного показателя.

  2. Используйте RSI, чтобы определить, насколько вы перекупаете и перепродаете, и установите предыдущий стоп-стоп.

  3. Индекс DPD лучше определяет ценовые тенденции, а Брин-Бенд определяет уровень давления на поддержку.

  4. Гибкая настройка различных параметров, оптимизация для различных акций.

Риск и оптимизация

Однако эта стратегия также несет в себе некоторые риски:

  1. Поскольку в некоторых странах существуют различные методы оценки, то в некоторых странах существуют различные методы оценки.

  2. DPD, RSI и другие индикаторы имеют определенную задержку и могут пропустить оптимальный момент входа.

  3. Необходимо оптимизировать параметры для адаптации к различным циклам и характеристикам акций.

Оптимизация может быть осуществлена в следующих аспектах:

  1. Настройка параметров показателя, оптимизация входных и выходных точек.

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

  3. Тестирование различных акций и циклических параметров для оценки эффективности стратегии.

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

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

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

//@version= 2
strategy("DPD+RSI+BB ",overlay=true)
price=close




//############### DPD  #################


buyper =input(-1,step=0.1)
sellper=input(0,step=0.1)
demalen = input(50,title="Dema Length")
e1= ema(close,demalen)
e2=ema(e1,demalen)
demaprice  =   2 * e1 - e2
demadifper =  ((price-demaprice)/price)*100


//############## DPD #####################

//############# RSI ####################


lengthrsi = input(6)
overSold = input( 20 )
overBought = input( 60 )

vrsi = rsi(price, lengthrsi)

//########## RSI #######################

//############### BB #################

lengthbb = input(50, minval=1)
multlow = input(1.5, minval=0.001, maxval=50,step=0.1)
multup = input(1.5,minval=0.001,maxval=50,step=0.1)

basisup = sma(close, lengthbb)
basislow = sma(close, lengthbb)

devup = multup * stdev(close, lengthbb)

devlow = multlow*stdev(close,lengthbb)

upperbb = basisup + devup
lowerbb = basislow - devlow

p1 = plot(upperbb, color=blue)
p2 = plot(lowerbb, color=blue)
fill(p1, p2)



//########### BB ###################




yearfrom = input(2018)
yearuntil =input(2039)
monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  (demadifper<buyper) and crossover(vrsi,overSold) and  (price < upperbb) and   year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    
else
    strategy.cancel(id="BUY")


if (   price>upperbb and vrsi>overBought and demadifper>sellper   and  year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil ) 

    strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND",  comment="SELL")
else
    strategy.cancel(id="SELL")