İSTANBUL

“Biz istiyoruz ki, bu memlekette yapılan her iş, üç beş kişinin çıkarına değil, bu toprakları dolduran milyonların yararına olsun!”


Volume Confirmation For A Trend System

Bu strateji, Buff Pelz Dormeier’in “Volume Confirmation For A Trend System” makalesinde tanımlanan üç ana göstergenin birleşiminden oluşur:traders.com+2TradingView+2TradingView+2

  1. ADX (Average Directional Index): Piyasanın trend gücünü ölçer.
  2. TTI (Trend Thrust Indicator): Fiyatın yönünü ve momentumunu belirler.
  3. VPCI (Volume Price Confirmation Indicator): Fiyat hareketlerini hacimle doğrular.

Strateji, bu üç göstergenin birleşimine dayanarak alım ve satım sinyalleri üretir:

  • Alım Sinyali: ADX > 30, TTI > TTI sinyali ve VPCI > 0 olduğunda.
  • Satım Sinyali: VPCI < 0 olduğunda mevcut pozisyon kapatılır.

//@version=5
string title = ‘TASC 2024.08 Volume Confirmation For A Trend System’
string stitle = ‘VCTS’
strategy(title, stitle, false)

// Input
lenADX = input.int(14, ‘ADX Length’, 1)
smt = input.int(14, ‘ADX Smoothing’, 1, 50)
fastTTI = input.int(13, ‘TTI Fast Average’, 1)
slowTTI = input.int(26, ‘TTI Slow Average’, 1)
smtTTI = input.int(9, ‘TTI Signal Length’, 1)
shortVP = input.int(5, ‘VPCI Short-Term Average’, 1)
longVP = input.int(25, ‘VPCI Long-Term Average’, 1)

// ADX
upDM = ta.change(high)
dwDM = -ta.change(low)
pDM = na(upDM) ? na : upDM > dwDM and upDM > 0 ? upDM : 0
mDM = na(dwDM) ? na : dwDM > upDM and dwDM > 0 ? dwDM : 0
ATR = ta.atr(lenADX)
pDI = fixnan(100 * ta.rma(pDM, lenADX) / ATR)
mDI = fixnan(100 * ta.rma(mDM, lenADX) / ATR)
ADX = 100*ta.rma(math.abs((pDI – mDI) / (pDI + mDI)), smt)

// TTI
fastVWMA = ta.vwma(close, fastTTI)
slowVWMA = ta.vwma(close, slowTTI)
VWMACD = fastVWMA – slowVWMA
volMult = math.pow((fastVWMA / slowVWMA), 2)
VEFA = fastVWMA * volMult
VESA = slowVWMA / volMult
TTI = VEFA – VESA
signal = ta.sma(TTI, smtTTI)

// VPCI
VPC = ta.vwma(close, longVP) – ta.sma(close, longVP)
VPR = ta.vwma(close, shortVP) / ta.sma(close, shortVP)
VM = ta.sma(volume, shortVP) / ta.sma(volume, longVP)
VPCI = VPC * VPR * VM

// Plot
col1 = #4daf4a50
col2 = #e41a1c20
col0 = #ffffff00
adxL1 = plot(ADX, “ADX”, #984ea3)
adxL0 = plot(30, “ADX Threshold”, #984ea350)
ttiL1 = plot(TTI, “TTI”, #ff7f00)
ttiL0 = plot(signal, “TTI Signal”, #ff7f0050)
vpcL1 = plot(VPCI*10,”VPCI”, #377eb8)
vpcL0 = plot(0, “VPCI Zero”, #377eb850)
fill(adxL1, adxL0, ADX > 30 ? col1 : col0)
fill(ttiL1, ttiL0, TTI > signal ? col1 : col0)
fill(vpcL1, vpcL0, VPCI > 0 ? col1 : col2)

// Strategy entry/exit rules
if ADX > 30
if TTI > signal
if VPCI > 0
strategy.entry(“entry”, strategy.long)
if VPCI < 0
strategy.close_all(‘exit’)



Yorum bırakın