Pine script 修复pine筛选程序转换

Pine script 修复pine筛选程序转换,pine-script,Pine Script,我试图在Pine screener中使用并转换以下代码 study("Vdub Binary Options SniperVX v1", overlay=true, shorttitle="Vdub_SniperBX_v1") slow = 8 fast = 5 vh1 = ema(highest(avg(low, close), fast), 5) vl1 = ema(lowest(avg(high, close), slow), 8) // e_e

我试图在Pine screener中使用并转换以下代码

study("Vdub Binary Options SniperVX  v1", overlay=true, shorttitle="Vdub_SniperBX_v1")

slow = 8
fast = 5
vh1 = ema(highest(avg(low, close), fast), 5)
vl1 = ema(lowest(avg(high, close), slow), 8)
//
e_ema1 = ema(close, 1)
e_ema2 = ema(e_ema1, 1)
e_ema3 = ema(e_ema2, 1)
tema = 1 * (e_ema1 - e_ema2) + e_ema3
//
e_e1 = ema(close, 8)
e_e2 = ema(e_e1, 5)
dema = 2 * e_e1 - e_e2
signal = tema > dema ? max(vh1, vl1) : min(vh1, vl1)
is_call = tema > dema and signal > low and (signal-signal[1] > signal[1]-signal[2])
is_put = tema < dema and signal < high and (signal[1]-signal > signal[2]-signal[1])
 

//plotshape(is_put ? -1 : na, title="SELL ARROW", color=red, text="*SELL*", style=shape.arrowdown)
//
//Modified - Rajandran R Supertrend----------------------------------------------------- //       Signal 2

Factor=input(1, minval=1,maxval = 000, title="Trend Transition Signal")
Pd=input(1, minval=1,maxval = 100)
Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
TrendUp=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn
Trend = close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],0)
 
plotarrow(Trend == 1 and Trend[1] == -1 ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=1000, minheight=50, transp=85)
plotarrow(Trend == -1 and Trend[1] == 1 ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=1000, minheight=50, transp=85)
plotshape(Trend == 1 and Trend[1] == -1 and is_call ? 1 : na, title="BUY ARROW", color=yellow, text="BUY", style=shape.arrowdown, location=location.abovebar)
plotshape(Trend == -1 and Trend[1] == 1 and is_put ? -1 : na, title="SELL ARROW", color=red, text="SELL", style=shape.arrowdown, location=location.abovebar)
研究(“Vdub二进制选项SniperVX v1”,overlay=true,shorttitle=“Vdub_SniperBX_v1”)
慢=8
快速=5
vh1=ema(最高(平均值(低、关闭)、快速)、5)
vl1=均线(最低(平均值(高、低、低)、8)
//
e_ema1=ema(关闭,1)
e_ema2=ema(e_ema1,1)
e_ema3=ema(e_ema2,1)
tema=1*(e_ema1-e_ema2)+e_ema3
//
e_e1=ema(关闭,8)
e_e2=ema(e_e1,5)
dema=2*e_e1-e_e2
信号=tema>dema?最大值(vh1,vl1):最小值(vh1,vl1)
is_call=tema>dema和信号>低电平和(信号[1]>信号[1]-信号[2])
is_put=tema信号[2]-信号[1])
//plotshape(是否放置?-1:na,title=“卖出箭头”,color=red,text=“*SELL*”,style=shape.arrowdown)
//
//修改后的-Rajandran R超趋势----------------------------------------------/信号2
系数=输入(1,最小值=1,最大值=000,title=“趋势转换信号”)
Pd=输入(1,最小值=1,最大值=100)
Up=hl2-(系数*atr(Pd))
Dn=hl2+(系数*atr(Pd))
趋势上升=关闭[1]>趋势上升[1]?最大值(上升,趋势上升[1]):上升
趋势下降=关闭[1]趋势下降[1]?1:关闭<趋势上升[1]-1:nz(趋势[1],0)
绘图箭头(趋势==1和趋势[1]=-1?趋势:na,title=“向上输入箭头”,colorup=lime,maxheight=1000,minheight=50,transp=85)
绘图箭头(趋势==-1和趋势[1]==1?趋势:na,title=“向下输入箭头”,colordown=红色,maxheight=1000,minheight=50,transp=85)
plotshape(趋势==1,趋势[1]=-1,并且是1:na,title=“购买箭头”,color=yellow,text=“购买”,style=shape.ARROW向下,location=location.overbar)
plotshape(趋势==-1和趋势[1]==1,并且是?-1:na,title=“卖出箭头”,color=red,text=“卖出”,style=shape.ARROW向下,location=location.overbar)
我正试图以这种方式在pine screener中转换上面的脚本 而且,我只搜索百思买条件,所以我需要在screener中验证条件 趋势==1和趋势[1]=-1,这是一个调用。我有这个

//@version=4
study("Screener ", overlay=false)

// blocco 4
s1 = input('MIL:IKG', type=input.symbol)
s2 = input('MIL:MON', type=input.symbol)
s3 = input('MIL:CY4', type=input.symbol)
s4 = input('MIL:AT', type=input.symbol)
s5 = input('MIL:NWL', type=input.symbol)
s6 = input('MIL:DEA', type=input.symbol)
s7 = input('MIL:CML', type=input.symbol)
s8 = input('MIL:ILTY', type=input.symbol)
s9 = input('MIL:ILLA', type=input.symbol)
s10 = input('MIL:CEM', type=input.symbol)
s11 = input('MIL:BO', type=input.symbol)
s12 = input('MIL:EMC', type=input.symbol)
s13 = input('MIL:GHC', type=input.symbol)
s14 = input('MIL:BEST', type=input.symbol)
s15 = input('MIL:IF', type=input.symbol)
s16 = input('MIL:SERI', type=input.symbol)
s17 = input('MIL:AVIO', type=input.symbol)
s18 = input('MIL:EXSY', type=input.symbol)
s19 = input('MIL:TD', type=input.symbol)
s20 = input('MIL:TIP', type=input.symbol)
s21 = input('MIL:CIA', type=input.symbol)
s22 = input('MIL:GVS', type=input.symbol)
s23 = input('MIL:SSL', type=input.symbol)
s24 = input('MIL:EVA', type=input.symbol)
s25 = input('MIL:CLA', type=input.symbol)
s26 = input('MIL:AGA', type=input.symbol)
s27 = input('MIL:TOD', type=input.symbol)
s28 = input('MIL:BSS', type=input.symbol)
s29 = input('MIL:SO', type=input.symbol)
s30 = input('MIL:DIB', type=input.symbol)
s31 = input('MIL:MARR', type=input.symbol)
s32 = input('MIL:ARN', type=input.symbol)
s33 = input('MIL:GCL', type=input.symbol)
s34 = input('MIL:DGT', type=input.symbol)
s35 = input('MIL:CARR', type=input.symbol)
s36 = input('MIL:KI', type=input.symbol)
s37 = input('MIL:DOV', type=input.symbol)
s38 = input('MIL:PRL', type=input.symbol)
s39 = input('MIL:WMC', type=input.symbol)
s40 = input('MIL:SGC', type=input.symbol)



///////////////
// FUNCTIONS //


Factor=input(1, minval=1,maxval = 000, title="Trend Transition Signal")
Pd=input(1, minval=1,maxval = 100)
slow = 8
fast = 5
vh1 = ema(highest(avg(low, close), fast), 5)
vl1 = ema(lowest(avg(high, close), slow), 8)
e_ema1 = ema(close, 1)
e_ema2 = ema(e_ema1, 1)
e_ema3 = ema(e_ema2, 1)
tema = 1 * (e_ema1 - e_ema2) + e_ema3
//
e_e1 = ema(close, 8)
e_e2 = ema(e_e1, 5)
dema = 2 * e_e1 - e_e2
signal = tema > dema ? max(vh1, vl1) : min(vh1, vl1)
is_call = tema > dema and signal > low and (signal-signal[1] > signal[1]-signal[2])
is_put = tema < dema and signal < high and (signal[1]-signal > signal[2]-signal[1])
Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))    

// Screener Function
screenerFunc() => 

    TrendUp=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
    TrendDown=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn
    Trend = close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],0)
    cond = Trend == 1 and Trend[1] == -1 and is_call
    [Trend, cond]
    
    
// Rounding Function
roundn(x, n) => 
    mult_local = 1 
    if n != 0
        for i = 1 to abs(n)
            mult_local := mult_local * 10
    
    n >= 0 ? round(x * mult_local) / mult_local : round(x / mult_local) * mult_local 

///////////////////////////////////////
// Running Functions for all sybmols //

[v1, c1] = security(s1, timeframe.period, screenerFunc())
[v2, c2] = security(s2, timeframe.period, screenerFunc())
[v3, c3] = security(s3, timeframe.period, screenerFunc())
[v4, c4] = security(s4, timeframe.period, screenerFunc())
[v5, c5] = security(s5, timeframe.period, screenerFunc())
[v6, c6] = security(s6, timeframe.period, screenerFunc())
[v7, c7] = security(s7, timeframe.period, screenerFunc())
[v8, c8] = security(s8, timeframe.period, screenerFunc())
[v9, c9] = security(s9, timeframe.period, screenerFunc())
[v10, c10] = security(s10, timeframe.period, screenerFunc())
[v11, c11] = security(s11, timeframe.period, screenerFunc())
[v12, c12] = security(s12, timeframe.period, screenerFunc())
[v13, c13] = security(s13, timeframe.period, screenerFunc())
[v14, c14] = security(s14, timeframe.period, screenerFunc())
[v15, c15] = security(s15, timeframe.period, screenerFunc())
[v16, c16] = security(s16, timeframe.period, screenerFunc())
[v17, c17] = security(s17, timeframe.period, screenerFunc())
[v18, c18] = security(s18, timeframe.period, screenerFunc())
[v19, c19] = security(s19, timeframe.period, screenerFunc())
[v20, c20] = security(s20, timeframe.period, screenerFunc())
[v21, c21] = security(s21, timeframe.period, screenerFunc())
[v22, c22] = security(s22, timeframe.period, screenerFunc())
[v23, c23] = security(s23, timeframe.period, screenerFunc())
[v24, c24] = security(s24, timeframe.period, screenerFunc())
[v25, c25] = security(s25, timeframe.period, screenerFunc())
[v26, c26] = security(s26, timeframe.period, screenerFunc())
[v27, c27] = security(s27, timeframe.period, screenerFunc())
[v28, c28] = security(s28, timeframe.period, screenerFunc())
[v29, c29] = security(s29, timeframe.period, screenerFunc())
[v30, c30] = security(s30, timeframe.period, screenerFunc())
[v31, c31] = security(s31, timeframe.period, screenerFunc())
[v32, c32] = security(s32, timeframe.period, screenerFunc())
[v33, c33] = security(s33, timeframe.period, screenerFunc())
[v34, c34] = security(s34, timeframe.period, screenerFunc())
[v35, c35] = security(s35, timeframe.period, screenerFunc())
[v36, c36] = security(s36, timeframe.period, screenerFunc())
[v37, c37] = security(s37, timeframe.period, screenerFunc())
[v38, c38] = security(s38, timeframe.period, screenerFunc())
[v39, c39] = security(s39, timeframe.period, screenerFunc())
[v40, c40] = security(s40, timeframe.period, screenerFunc())

////////////////////
// Screener label //

f_buildLabel(_c, _s, _v) =>
    _c ? _s + ' ' + tostring(roundn(_v, 3)) + ' :: ' : ''
    
if barstate.islast
    scr_label = ''
    scr_label := scr_label + f_buildLabel(c1, s1, v1)
    scr_label := scr_label + f_buildLabel(c2, s2, v2)
    scr_label := scr_label + f_buildLabel(c3, s3, v3)
    scr_label := scr_label + f_buildLabel(c4, s4, v4)
    scr_label := scr_label + f_buildLabel(c5, s5, v5)
    scr_label := scr_label + f_buildLabel(c6, s6, v6)
    scr_label := scr_label + f_buildLabel(c7, s7, v7)
    scr_label := scr_label + f_buildLabel(c8, s8, v8)
    scr_label := scr_label + f_buildLabel(c9, s9, v9)
    scr_label := scr_label + f_buildLabel(c10, s10, v10)
    scr_label := scr_label + f_buildLabel(c11, s11, v11)
    scr_label := scr_label + f_buildLabel(c12, s12, v12)
    scr_label := scr_label + f_buildLabel(c13, s13, v13)
    scr_label := scr_label + f_buildLabel(c14, s14, v14)
    scr_label := scr_label + f_buildLabel(c15, s15, v15)
    scr_label := scr_label + f_buildLabel(c16, s16, v16)
    scr_label := scr_label + f_buildLabel(c17, s17, v17)
    scr_label := scr_label + f_buildLabel(c18, s18, v18)
    scr_label := scr_label + f_buildLabel(c19, s19, v19)
    scr_label := scr_label + f_buildLabel(c20, s20, v20)
    scr_label := scr_label + f_buildLabel(c21, s21, v21)
    scr_label := scr_label + f_buildLabel(c22, s22, v22)
    scr_label := scr_label + f_buildLabel(c23, s23, v23)
    scr_label := scr_label + f_buildLabel(c24, s24, v24)
    scr_label := scr_label + f_buildLabel(c25, s25, v25)
    scr_label := scr_label + f_buildLabel(c26, s26, v26)
    scr_label := scr_label + f_buildLabel(c27, s27, v27)
    scr_label := scr_label + f_buildLabel(c28, s28, v28)
    scr_label := scr_label + f_buildLabel(c29, s29, v29)
    scr_label := scr_label + f_buildLabel(c30, s30, v30)
    scr_label := scr_label + f_buildLabel(c31, s31, v31)
    scr_label := scr_label + f_buildLabel(c32, s32, v32)
    scr_label := scr_label + f_buildLabel(c33, s33, v33)
    scr_label := scr_label + f_buildLabel(c34, s34, v34)
    scr_label := scr_label + f_buildLabel(c35, s35, v35)
    scr_label := scr_label + f_buildLabel(c36, s36, v36)
    scr_label := scr_label + f_buildLabel(c37, s37, v37)
    scr_label := scr_label + f_buildLabel(c38, s38, v38)
    scr_label := scr_label + f_buildLabel(c39, s39, v39)
    scr_label := scr_label + f_buildLabel(c40, s40, v40)

    
    
    scr_label := scr_label + ""
    
    // Plot Label
    lab_l = label.new(
              bar_index, 0, scr_label, 
              color=color.green, 
              textcolor=color.white, 
              style =  label.style_labeldown,
              yloc = yloc.price)
/@version=4
研究(“筛选器”,叠加=假)
//Blocco4
s1=输入('MIL:IKG',类型=输入符号)
s2=输入('MIL:MON',类型=输入.symbol)
s3=输入('MIL:CY4',类型=输入符号)
s4=输入('MIL:AT',类型=输入符号)
s5=输入('MIL:NWL',类型=输入符号)
s6=输入('MIL:DEA',类型=输入符号)
s7=输入('MIL:CML',类型=输入符号)
s8=输入('MIL:ILTY',类型=输入符号)
s9=输入('MIL:ILLA',type=input.symbol)
s10=输入('MIL:CEM',类型=输入符号)
s11=输入('MIL:BO',类型=输入符号)
s12=输入('MIL:EMC',类型=输入.symbol)
s13=输入('MIL:GHC',类型=输入符号)
s14=输入(“故障指示灯:最佳”,类型=输入符号)
s15=输入('MIL:IF',类型=输入符号)
s16=输入('MIL:SERI',类型=输入符号)
s17=输入('MIL:AVIO',类型=输入符号)
s18=输入('MIL:EXSY',类型=输入符号)
s19=输入('MIL:TD',类型=输入符号)
s20=输入('MIL:TIP',类型=输入符号)
s21=输入('MIL:CIA',类型=输入符号)
s22=输入('MIL:GVS',类型=输入符号)
s23=输入('MIL:SSL',类型=输入.symbol)
s24=输入('MIL:EVA',类型=输入符号)
s25=输入('MIL:CLA',类型=输入符号)
s26=输入('MIL:AGA',类型=输入符号)
s27=输入('MIL:TOD',类型=输入符号)
s28=输入('MIL:BSS',类型=输入符号)
s29=输入('MIL:SO',类型=输入符号)
s30=输入('MIL:DIB',类型=输入.symbol)
s31=输入('MIL:MARR',type=input.symbol)
s32=输入('MIL:ARN',类型=输入.symbol)
s33=输入('MIL:GCL',类型=输入.symbol)
s34=输入('MIL:DGT',类型=输入.symbol)
s35=输入('MIL:CARR',类型=输入符号)
s36=输入('MIL:KI',类型=输入符号)
s37=输入('MIL:DOV',类型=输入符号)
s38=输入('MIL:PRL',类型=输入.symbol)
s39=输入('MIL:WMC',类型=输入.symbol)
s40=输入('MIL:SGC',类型=输入.symbol)
///////////////
//功能//
系数=输入(1,最小值=1,最大值=000,title=“趋势转换信号”)
Pd=输入(1,最小值=1,最大值=100)
慢=8
快速=5
vh1=ema(最高(平均值(低、关闭)、快速)、5)
vl1=均线(最低(平均值(高、低、低)、8)
e_ema1=ema(关闭,1)
e_ema2=ema(e_ema1,1)
e_ema3=ema(e_ema2,1)
tema=1*(e_ema1-e_ema2)+e_ema3
//
e_e1=ema(关闭,8)
e_e2=ema(e_e1,5)
dema=2*e_e1-e_e2
信号=tema>dema?最大值(vh1,vl1):最小值(vh1,vl1)
is_call=tema>dema和信号>低电平和(信号[1]>信号[1]-信号[2])
is_put=tema信号[2]-信号[1])
Up=hl2-(系数*atr(Pd))
Dn=hl2+(系数*atr(Pd))
//筛选函数
screenerFunc()=>
趋势上升=关闭[1]>趋势上升[1]?最大值(上升,趋势上升[1]):上升
趋势下降=关闭[1]趋势下降[1]?1:关闭<趋势上升[1]-1:nz(趋势[1],0)
cond=Trend==1和Trend[1]=-1,这是调用
[趋势,条件]
//舍入函数
圆形n(x,n)=>
mult_local=1
如果n!=0
对于i=1至abs(n)
多本地:=多本地*10
n>=0?圆形(x*多个本地)/多个本地:圆形(x/多个本地)*多个本地
///////////////////////////////////////
//为所有Sybmol运行函数//
[v1,c1]=安全性(s1,timeframe.period,screenerFunc())
[v2,c2]=安全性(s2,timeframe.period,screenerFunc())
[v3,c3]=安全性(s3,timeframe.period,screenerFunc())
[v4,c4]=安全性(s4,timeframe.period,screenerFunc())
[v5,c5]=安全性(s5,timeframe.period,screenerFunc())
[v6,c6]=安全性(s6,timeframe.period,screenerFunc())
[v7,c7]=安全性(s7,timeframe.period,screenerFunc())
[v8,c8]=安全性(s8,timeframe.period,screenerFunc())
[v9,c9]=安全性(s9,timeframe.period,screenerFunc())
[v10,c10]=安全性(s10,timeframe.period,screenerFunc())
[v11,c11]=安全性(s11,timeframe.period,screenerFunc())
[v12,c12]=安全性(s12,timeframe.period,screenerFunc())
[v13,c13]=安全性(s13,timeframe.period,screenerFunc())
[v14,c14]=安全性(s14,timeframe.period,screenerFunc())
[v15,c15]=安全性(s15,timeframe.period,screenerFunc())
[v16,c16]=安全性(s16,timeframe.period,screenerFunc())
[v17,c17]=安全性(s17,时间
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © AnyDozer

//@version=4
study("Help (Screener)", overlay=false)

// blocco 4
s1 = input('MIL:IKG', type=input.symbol)
s2 = input('MIL:MON', type=input.symbol)
s3 = input('MIL:CY4', type=input.symbol)
s4 = input('MIL:AT', type=input.symbol)
s5 = input('MIL:NWL', type=input.symbol)
s6 = input('MIL:DEA', type=input.symbol)
s7 = input('MIL:CML', type=input.symbol)
s8 = input('MIL:ILTY', type=input.symbol)
s9 = input('MIL:ILLA', type=input.symbol)
s10 = input('MIL:CEM', type=input.symbol)
s11 = input('MIL:BO', type=input.symbol)
s12 = input('MIL:EMC', type=input.symbol)
s13 = input('MIL:GHC', type=input.symbol)
s14 = input('MIL:BEST', type=input.symbol)
s15 = input('MIL:IF', type=input.symbol)
s16 = input('MIL:SERI', type=input.symbol)
s17 = input('MIL:AVIO', type=input.symbol)
s18 = input('MIL:EXSY', type=input.symbol)
s19 = input('MIL:TD', type=input.symbol)
s20 = input('MIL:TIP', type=input.symbol)
s21 = input('MIL:CIA', type=input.symbol)
s22 = input('MIL:GVS', type=input.symbol)
s23 = input('MIL:SSL', type=input.symbol)
s24 = input('MIL:EVA', type=input.symbol)
s25 = input('MIL:CLA', type=input.symbol)
s26 = input('MIL:AGA', type=input.symbol)
s27 = input('MIL:TOD', type=input.symbol)
s28 = input('MIL:BSS', type=input.symbol)
s29 = input('MIL:SO', type=input.symbol)
s30 = input('MIL:DIB', type=input.symbol)
s31 = input('MIL:MARR', type=input.symbol)
s32 = input('MIL:ARN', type=input.symbol)
s33 = input('MIL:GCL', type=input.symbol)
s34 = input('MIL:DGT', type=input.symbol)
s35 = input('MIL:CARR', type=input.symbol)
s36 = input('MIL:KI', type=input.symbol)
s37 = input('MIL:DOV', type=input.symbol)
s38 = input('MIL:PRL', type=input.symbol)
s39 = input('MIL:WMC', type=input.symbol)
s40 = input('MIL:SGC', type=input.symbol)



///////////////
// FUNCTIONS //


var Factor=input(1, minval=1,maxval = 000, title="Trend Transition Signal")
var Pd=input(1, minval=1,maxval = 100)
slow = 8
fast = 5
vh1 = ema(highest(avg(low, close), fast), 5)
vl1 = ema(lowest(avg(high, close), slow), 8)
e_ema1 = ema(close, 1)
e_ema2 = ema(e_ema1, 1)
e_ema3 = ema(e_ema2, 1)
tema = 1 * (e_ema1 - e_ema2) + e_ema3
//
e_e1 = ema(close, 8)
e_e2 = ema(e_e1, 5)
dema = 2 * e_e1 - e_e2
signal = tema > dema ? max(vh1, vl1) : min(vh1, vl1)
is_call = tema > dema and signal > low and (signal-signal[1] > signal[1]-signal[2])
is_put = tema < dema and signal < high and (signal[1]-signal > signal[2]-signal[1])


// Screener Function
screenerFunc() => 

    Up=hl2-(Factor*atr(Pd))
    Dn=hl2+(Factor*atr(Pd))    

    TrendUp = 0.0
    TrendDown = 0.0
    Trend = 0

    TrendUp :=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
    TrendDown :=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn
    Trend := close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],0)
    cond = Trend == 1 and Trend[1] == -1 and is_call
    [Trend, cond]
    
    
// Rounding Function
roundn(x, n) => 
    mult_local = 1 
    if n != 0
        for i = 1 to abs(n)
            mult_local := mult_local * 10
    
    n >= 0 ? round(x * mult_local) / mult_local : round(x / mult_local) * mult_local 

///////////////////////////////////////
// Running Functions for all sybmols //

[v1, c1] = security(s1, timeframe.period, screenerFunc())
[v2, c2] = security(s2, timeframe.period, screenerFunc())
[v3, c3] = security(s3, timeframe.period, screenerFunc())
[v4, c4] = security(s4, timeframe.period, screenerFunc())
[v5, c5] = security(s5, timeframe.period, screenerFunc())
[v6, c6] = security(s6, timeframe.period, screenerFunc())
[v7, c7] = security(s7, timeframe.period, screenerFunc())
[v8, c8] = security(s8, timeframe.period, screenerFunc())
[v9, c9] = security(s9, timeframe.period, screenerFunc())
[v10, c10] = security(s10, timeframe.period, screenerFunc())
[v11, c11] = security(s11, timeframe.period, screenerFunc())
[v12, c12] = security(s12, timeframe.period, screenerFunc())
[v13, c13] = security(s13, timeframe.period, screenerFunc())
[v14, c14] = security(s14, timeframe.period, screenerFunc())
[v15, c15] = security(s15, timeframe.period, screenerFunc())
[v16, c16] = security(s16, timeframe.period, screenerFunc())
[v17, c17] = security(s17, timeframe.period, screenerFunc())
[v18, c18] = security(s18, timeframe.period, screenerFunc())
[v19, c19] = security(s19, timeframe.period, screenerFunc())
[v20, c20] = security(s20, timeframe.period, screenerFunc())
[v21, c21] = security(s21, timeframe.period, screenerFunc())
[v22, c22] = security(s22, timeframe.period, screenerFunc())
[v23, c23] = security(s23, timeframe.period, screenerFunc())
[v24, c24] = security(s24, timeframe.period, screenerFunc())
[v25, c25] = security(s25, timeframe.period, screenerFunc())
[v26, c26] = security(s26, timeframe.period, screenerFunc())
[v27, c27] = security(s27, timeframe.period, screenerFunc())
[v28, c28] = security(s28, timeframe.period, screenerFunc())
[v29, c29] = security(s29, timeframe.period, screenerFunc())
[v30, c30] = security(s30, timeframe.period, screenerFunc())
[v31, c31] = security(s31, timeframe.period, screenerFunc())
[v32, c32] = security(s32, timeframe.period, screenerFunc())
[v33, c33] = security(s33, timeframe.period, screenerFunc())
[v34, c34] = security(s34, timeframe.period, screenerFunc())
[v35, c35] = security(s35, timeframe.period, screenerFunc())
[v36, c36] = security(s36, timeframe.period, screenerFunc())
[v37, c37] = security(s37, timeframe.period, screenerFunc())
[v38, c38] = security(s38, timeframe.period, screenerFunc())
[v39, c39] = security(s39, timeframe.period, screenerFunc())
[v40, c40] = security(s40, timeframe.period, screenerFunc())

////////////////////
// Screener label //

f_buildLabel(_c, _s, _v) =>
    _c ? _s + ' ' + tostring(roundn(_v, 3)) + ' :: ' : ''
    
if barstate.islast
    scr_label = ''
    scr_label := scr_label + f_buildLabel(c1, s1, v1)
    scr_label := scr_label + f_buildLabel(c2, s2, v2)
    scr_label := scr_label + f_buildLabel(c3, s3, v3)
    scr_label := scr_label + f_buildLabel(c4, s4, v4)
    scr_label := scr_label + f_buildLabel(c5, s5, v5)
    scr_label := scr_label + f_buildLabel(c6, s6, v6)
    scr_label := scr_label + f_buildLabel(c7, s7, v7)
    scr_label := scr_label + f_buildLabel(c8, s8, v8)
    scr_label := scr_label + f_buildLabel(c9, s9, v9)
    scr_label := scr_label + f_buildLabel(c10, s10, v10)
    scr_label := scr_label + f_buildLabel(c11, s11, v11)
    scr_label := scr_label + f_buildLabel(c12, s12, v12)
    scr_label := scr_label + f_buildLabel(c13, s13, v13)
    scr_label := scr_label + f_buildLabel(c14, s14, v14)
    scr_label := scr_label + f_buildLabel(c15, s15, v15)
    scr_label := scr_label + f_buildLabel(c16, s16, v16)
    scr_label := scr_label + f_buildLabel(c17, s17, v17)
    scr_label := scr_label + f_buildLabel(c18, s18, v18)
    scr_label := scr_label + f_buildLabel(c19, s19, v19)
    scr_label := scr_label + f_buildLabel(c20, s20, v20)
    scr_label := scr_label + f_buildLabel(c21, s21, v21)
    scr_label := scr_label + f_buildLabel(c22, s22, v22)
    scr_label := scr_label + f_buildLabel(c23, s23, v23)
    scr_label := scr_label + f_buildLabel(c24, s24, v24)
    scr_label := scr_label + f_buildLabel(c25, s25, v25)
    scr_label := scr_label + f_buildLabel(c26, s26, v26)
    scr_label := scr_label + f_buildLabel(c27, s27, v27)
    scr_label := scr_label + f_buildLabel(c28, s28, v28)
    scr_label := scr_label + f_buildLabel(c29, s29, v29)
    scr_label := scr_label + f_buildLabel(c30, s30, v30)
    scr_label := scr_label + f_buildLabel(c31, s31, v31)
    scr_label := scr_label + f_buildLabel(c32, s32, v32)
    scr_label := scr_label + f_buildLabel(c33, s33, v33)
    scr_label := scr_label + f_buildLabel(c34, s34, v34)
    scr_label := scr_label + f_buildLabel(c35, s35, v35)
    scr_label := scr_label + f_buildLabel(c36, s36, v36)
    scr_label := scr_label + f_buildLabel(c37, s37, v37)
    scr_label := scr_label + f_buildLabel(c38, s38, v38)
    scr_label := scr_label + f_buildLabel(c39, s39, v39)
    scr_label := scr_label + f_buildLabel(c40, s40, v40)

    
    
    scr_label := scr_label + ""
    
    // Plot Label
    lab_l = label.new(
              bar_index, 0, scr_label, 
              color=color.green, 
              textcolor=color.white, 
              style =  label.style_labeldown,
              yloc = yloc.price)