Здравствуйте, я пытаюсь включить этот тип скользящей средней (elasti c объемная скользящая средняя)
evwma = 0.0
evwma := ((volumeSum - volume) * nz(evwma[1]) + volume * src) / volumeSum
в мой индикатор (VWGSV), где верхний форум должен заменить функцию vwma
//@version=4
study(shorttitle="VWGSV", title="Greatest swing value",overlay=true)
src = input(open)
lenght = input(4, minval=1 ,title="lenght")
multi = input (1.8,title="multiplier")
hx= if src>close[1]
close[1]
else
src
lx= if src<close[1]
close[1]
else
src
hg= (high-hx)
lg= (lx-low)
bgsv = (vwma(hg,lenght))*multi+hx
sgsv= lx-(vwma(lg,lenght))*multi
plot(bgsv,offset=1, color=color.green)
plot(sgsv,offset=1, color=color.red)
то, что я пробовал, выглядит примерно так (извините, нет опыта кодирования вообще ...)
//@version=4
study(shorttitle="VWGSV", title="Greatest swing value",overlay=true)
src = input(open)
lenght = input(4, minval=1 ,title="lenght")
multi = input (1.8,title="multiplier")
volumeSum = sum(volume, lenght)
hx= if src>close[1]
close[1]
else
src
lx= if src<close[1]
close[1]
else
src
hg= (high-hx)
lg= (lx-low)
hevwma = 0.0
levwma = 0.0
hevwma := ((volumeSum - volume) * nz(hevwma[1]) + volume * hx) / volumeSum
levwma := ((volumeSum - volume) * nz(levwma[1]) + volume * lx) / volumeSum
bgsv = hevwma*multi+hx
sgsv= lx-levwma*multi
plot(series=bgsv,offset=1, color=color.green)
plot(series=sgsv,offset=1, color=color.red)
это то, что я пытался
hevwma = 0.0
levwma = 0.0
hevwma := ((volumeSum - volume) * nz(hevwma[1]) + volume * hx) / volumeSum
levwma := ((volumeSum - volume) * nz(levwma[1]) + volume * lx) / volumeSum
bgsv = round(hevwma)*multi+hx
sgsv= lx-round(levwma)*multi
что я получаю
Как это должно выглядеть
Я думаю, потому что формула, которую я пытаюсь интегрировать, дает мне значение с плавающей точкой, но мне нужно, чтобы оно было целое число, и я попытался преобразовать его в целое как-то, но безуспешно. Пожалуйста, помогите мне, мне нужно как-то получить результат, как на картинке