
Стратегия расширенной ценовой тенденции (EPVT) - это комбинация технических показателей. Она сочетает в себе индикатор ускоренной динамики с другими вспомогательными показателями, чтобы идентифицировать потенциальные точки разворота тенденции и время изменения динамики.
Основным показателем этой стратегии является расширенный тренд цены (EPVT). Метод ее расчета: накопленный объем торгов * ценовые колебания. Затем рассчитывается максимальное и минимальное значение EPVT за определенный период, получая базовую зону.
Когда индикаторная кривая EPVT пересекает нулевую ось вверх, это означает усиление давления на покупку и появление сигнала плюса. Напротив, когда EPVT пересекает нулевую ось вниз, появляется сигнал пустоты.
Для улучшения качества сигналов стратегия также содействует использованию простых движущихся средних, подтверждающих надежность изменения тренда.
Эта стратегия объединяет три измерения: тренд, динамика и объем торгов, что позволяет более полно оценить рыночную готовность к покупке и продаже. Используя индикатор тренда расширения цены, можно хорошо идентифицировать неожиданные перегрузки в краткосрочной перспективе, чтобы понять переломные моменты рынка.
Установка трёх рядов тормозной позиции в поле, вы можете выбрать различные пропорции тормоза в зависимости от ваших предпочтений риска.
Эта стратегия больше зависит от форм-факторов кривой индикатора, и в случае нетипичного движения появляется ошибочный сигнал. Кроме того, такие ситуации, как перевернутое положение трех баров, могут привести к ненужному обратному открытию позиции.
Для оптимизации параметры могут быть скорректированы или добавлены другие индикаторы хронических волн. Стоп-стратегия также может снизить одноразовые потери.
Оптимизация параметров. Например, корректировка параметров EPVT-циклов для поиска оптимальной комбинации параметров.
Добавление условий фильтрации тенденции. Например, на основе EPVT-сигналов определяется направление ценового канала или средней линии.
Оптимизация стратегии остановки убытков. Например, установка фиксированного количественного остановки или остановки ATR.
Движение ускоряет стратегию расширения ценовых тенденций, выявляет изменения в рыночной готовности к покупке и продаже с помощью индикатора EPVT, таким образом, захватывая потенциальные переломные моменты. Установка трёх рядов различных пропорций остановочных выходов, которые могут удовлетворить различные предпочтения инвесторов в отношении риска. Эта стратегия заслуживает дальнейшего тестирования и оптимизации и может стать эффективным инструментом для идентификации краткосрочных изменений в рынке.
/*backtest
start: 2023-01-11 00:00:00
end: 2024-01-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="Extended Price Volume Trend", overlay=true )//@version=5
var cumVol = 0.
cumVol += nz(volume)
if barstate.islast and cumVol == 0
runtime.error("No volume is provided by the data vendor.")
src = close
lenght = input(200,"Trend Lenght")
vt = ta.cum(ta.change(src)/src[1]*volume)
upx = ta.highest(vt,lenght)
downx = ta.lowest(vt,lenght)
basex = (upx +downx)/2
VTX = vt - basex
VTY = ta.valuewhen(ta.cross(VTX,0),close,0)
plot(VTY, color=color.black, title="Extended-PVT")
/////////////////////// STRATEGY ////////////////
/////////////////////// TAKE PROFIT SECTION ////////////////
longConditionx = ta.crossover(close,VTY)
ShortConditionx = ta.crossunder(close,VTY)
tp1 = input.int(10, minval=1,title = "TP-1")
tp2 = input.int(20, minval=1,title = "TP-2")
tp3 = input.int(30, minval=1,title = "TP-3")
ematp = ta.ema(close,2)
TPTAKA1S = VTY*(1-tp1/100)
plot(TPTAKA1S, "SELL-TP1", color=color.red,linewidth = 1)
TPTAKA2S = VTY*(1-tp2/100)
plot(TPTAKA2S, "SELL-TP2", color=color.red,linewidth = 1)
TPTAKA3S = VTY*(1-tp3/100)
plot(TPTAKA3S, "SELL-TP3", color=color.red,linewidth = 1)
TPTAKA1B = VTY*(1+tp1/100)
plot(TPTAKA1B, "BUY-TP1", color=color.red,linewidth = 1)
TPTAKA2B = VTY*(1+tp2/100)
plot(TPTAKA2B, "BUY-TP2", color=color.red,linewidth = 1)
TPTAKA3B = VTY*(1+tp3/100)
plot(TPTAKA3B, "BUY-TP3", color=color.red,linewidth = 1)
BUYTP = ta.crossunder(close,VTY) or ta.crossunder(ematp,TPTAKA1B) or ta.crossunder(ematp,TPTAKA2B) or ta.crossunder(ematp,TPTAKA3B)
SELLTP = ta.crossover(close,VTY) or ta.crossover(ematp,TPTAKA1S) or ta.crossover(ematp,TPTAKA2S) or ta.crossover(ematp,TPTAKA3S)
/////////////////////// STRATEGY ////////////////
// Check for Long Entry
longCondition = longConditionx==true
if longCondition
strategy.entry('Long', strategy.long, comment = "ENTER-LONG")
buyclose = ShortConditionx==true or BUYTP==true
// Exit condition
strategy.close('Long', when=buyclose or BUYTP==true, comment = "EXIT-LONG")
// Check for Short Entry
ShortCondition = ShortConditionx==true
if ShortCondition
strategy.entry('Short', strategy.short, comment = "ENTER-SHORT")
sellclose = longConditionx==true or SELLTP ==true
// Exit condition
strategy.close('Short', when=sellclose or SELLTP==true, comment = "EXIT-SHORT")
///// END OF STRATEGY ///////////