скрипт pine с несколькими индикаторами EMA, объема и Боллинджера

#pine-script

Вопрос:

в котором я разместил несколько индикаторов с EMA, полосой Болингера Vwap. Теперь я тоже хочу добавить объем. Но когда я добавлю его, он скроет все индикаторы. Пожалуйста, ознакомьтесь с приведенным ниже сценарием.

 // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © makkanimation

//@version=4
study("Vol in Base asset 20MA", "", true, format.volume, overlay=true, scale=scale.none)

EMA1=input(21)
EMA2=input(55) 
EMA3=input(100)
EMA4=input(200)


exponential = input(true, title="Exponential MA")
src = close

ma21 = exponential ? ema(src, EMA1) : sma(src, EMA1)
ma55 = exponential ? ema(src, EMA2) : sma(src, EMA2)
ma100 = exponential ? ema(src, EMA3) : sma(src, EMA3)
ma200 = exponential ? ema(src, EMA4) : sma(src, EMA4) 

// VWAP
price = input(type=input.source, defval=hlc3, title="VWAP Source")
enable_vwap = input(true, title="Enable VWAP")
vwapResolution = input(title = "VWAP Resolution", defval = "", type=input.resolution)
vwapFunction = vwap(price)
vwapSecurity = security(syminfo.tickerid, vwapResolution, vwapFunction)

plot(ma21, color=color.new(color.green, 0), title="[E]MA21")
plot(ma55, color=color.new(color.red, 0), title="[E]MA55")
plot(ma100, color=color.new(color.orange, 0), title="[E]MA100")
plot(ma200, color=color.new(color.blue, 0), title="[E]MA200")
plot(enable_vwap ? vwapSecurity : na, title="VWAP", color=color.navy, linewidth=2, transp=0, editable=true) // All TimeFrames 

bollinger = input(false, title="Bolinger Band")
bolingerlength = input(20,"Length")
// Bollinger Bands
bsrc = input(close, title="Source")
mult = input(2.0, title="std dev", minval=0.001, maxval=50)
basis = sma(bsrc, bolingerlength)
dev = mult * stdev(bsrc, bolingerlength)
upper = basis   dev
lower = basis - dev
plot(bollinger ? basis: na, color=color.red, title="Bol Basic")
p1 = plot(bollinger ? upper: na, color=color.blue, title="Bol Upper")
p2 = plot(bollinger ? lower: na, color=color.blue, title="Bol Lower")
fill(p1, p2, title="Bol Background")


//Make the moving average user configurable
HIM1 = "1. Historical High"
HIM2 = "2. Highest in last..."
showMA = input(true)
scaleFactor = 100 / input(30, "% of vertical space used", step = 10, maxval = 100)
hiMethod = input(HIM2, "High point method", options = [HIM1, HIM2])
hiMethod2Len = input(400, "  2. Length", minval = 2, step = 100)

//Get volume for current bar and multiply with vwap
vInverse = volume * vwap

//Plot fiat volume.
plot(vInverse, color = color.orange, title="VolumeBTC", style=plot.style_columns, transp=30) //Originally: transp=65

//Plot 20 candle moving average (changable in settings)
plot(showMA ? sma(vInverse,20) : na, color = color.white, title="Volume MA", style=plot.style_area, transp=65)

//Plot high line to scale down the columns.
var histHi = 0.
histHi := max(histHi, nz(vInverse, histHi))
limit = hiMethod == HIM1 ? histHi : highest(vInverse, hiMethod2Len)
plot(limit * scaleFactor, "Historical High", #00000000)
 

Пожалуйста, помогите мне. Я хочу показать все в одном месте.

Ответ №1:

Вы не можете выполнить то, что пытаетесь сделать. Особенно с scale = scale.none . Ваш BB не будет соответствовать свечам графика из-за этого, а также из-за того, что объем установит диапазон масштаба сценария, который удаленно не будет соответствовать вашим свечам. Вам нужно будет иметь их в виде отдельных сценариев с отдельными масштабами. BB/MA, используя масштаб графика и другой скрипт, scale.none чтобы разместить ваш объем в нижней части графика.