title: need help for custom screener
body: <p>I want to make a custom screener but I could not run it. Can you please help guys?</p>
  <p>Code as below, thank you.</p>
  <blockquote>
  <pre><code>//@version=4
  
  study(&quot;My Screener&quot;, overlay = true, max_bars_back = 1000, max_lines_count = 400, max_labels_count = 400)
  prd = input(defval = 5, title = &quot;Pivot Period&quot;, minval = 1, maxval = 50)
  source = input(defval = &quot;Close&quot;, title = &quot;Source for Pivot Points&quot;, options = [&quot;Close&quot;, &quot;High/Low&quot;])
  searchdiv = input(defval = &quot;Regular&quot;, title = &quot;Divergence Type&quot;, options = [&quot;Regular&quot;, &quot;Hidden&quot;, &quot;Regular/Hidden&quot;])
  showindis = input(defval = &quot;Full&quot;, title = &quot;Show Indicator Names&quot;, options = [&quot;Full&quot;, &quot;First Letter&quot;, &quot;Don't Show&quot;])
  showlimit = input(1, title=&quot;Minimum Number of Divergence&quot;, minval = 1, maxval = 11)
  maxpp = input(defval = 10, title = &quot;Maximum Pivot Points to Check&quot;, minval = 1, maxval = 20)
  maxbars = input(defval = 100, title = &quot;Maximum Bars to Check&quot;, minval = 30, maxval = 200)
  shownum = input(defval = true, title = &quot;Show Divergence Number&quot;)
  showlast = input(defval = false, title = &quot;Show Only Last Divergence&quot;)
  dontconfirm = input(defval = false, title = &quot;Don't Wait for Confirmation&quot;)
  showlines = input(defval = true, title = &quot;Show Divergence Lines&quot;)
  showpivot = input(defval = false, title = &quot;Show Pivot Points&quot;)
  calcmacd = input(defval = true, title = &quot;MACD&quot;)
  calcmacda = input(defval = true, title = &quot;MACD Histogram&quot;)
  calcrsi = input(defval = true, title = &quot;RSI&quot;)
  calcstoc = input(defval = true, title = &quot;Stochastic&quot;)
  calccci = input(defval = true, title = &quot;CCI&quot;)
  calcmom = input(defval = true, title = &quot;Momentum&quot;)
  calcobv = input(defval = true, title = &quot;OBV&quot;)
  calcvwmacd = input(true, title = &quot;VWmacd&quot;)
  calccmf = input(true, title = &quot;Chaikin Money Flow&quot;)
  calcmfi = input(true, title = &quot;Money Flow Index&quot;)
  calcext = input(false, title = &quot;Check External Indicator&quot;)
  externalindi = input(defval = close, title = &quot;External Indicator&quot;)
  pos_reg_div_col = input(defval = color.yellow, title = &quot;Positive Regular Divergence&quot;)
  neg_reg_div_col = input(defval = color.navy, title = &quot;Negative Regular Divergence&quot;)
  pos_hid_div_col = input(defval = color.lime, title = &quot;Positive Hidden Divergence&quot;)
  neg_hid_div_col = input(defval = color.red, title = &quot;Negative Hidden Divergence&quot;)
  pos_div_text_col = input(defval = color.black, title = &quot;Positive Divergence Text Color&quot;)
  neg_div_text_col = input(defval = color.white, title = &quot;Negative Divergence Text Color&quot;)
  reg_div_l_style_ = input(defval = &quot;Solid&quot;, title = &quot;Regular Divergence Line Style&quot;, options = [&quot;Solid&quot;, &quot;Dashed&quot;, &quot;Dotted&quot;])
  hid_div_l_style_ = input(defval = &quot;Dashed&quot;, title = &quot;Hdden Divergence Line Style&quot;, options = [&quot;Solid&quot;, &quot;Dashed&quot;, &quot;Dotted&quot;])
  reg_div_l_width = input(defval = 2, title = &quot;Regular Divergence Line Width&quot;, minval = 1, maxval = 5)
  hid_div_l_width = input(defval = 1, title = &quot;Hidden Divergence Line Width&quot;, minval = 1, maxval = 5)
  showmas = input(defval = false, title = &quot;Show MAs 50 &amp; 200&quot;, inline = &quot;ma12&quot;)
  cma1col = input(defval = color.lime, title = &quot;&quot;, inline = &quot;ma12&quot;)
  cma2col = input(defval = color.red, title = &quot;&quot;, inline = &quot;ma12&quot;)
  
  plot(showmas ? sma(close, 50) : na, color = showmas ? cma1col : na)
  plot(showmas ? sma(close, 200) : na, color = showmas ? cma2col: na)
  
  // set line styles
  var reg_div_l_style = reg_div_l_style_ == &quot;Solid&quot; ? line.style_solid : 
                         reg_div_l_style_ == &quot;Dashed&quot; ? line.style_dashed :
                         line.style_dotted
  var hid_div_l_style = hid_div_l_style_ == &quot;Solid&quot; ? line.style_solid : 
                         hid_div_l_style_ == &quot;Dashed&quot; ? line.style_dashed :
                         line.style_dotted
  
  
  // get indicators
  rsi = rsi(close, 14) // RSI
  [macd, signal, deltamacd] = macd(close, 12, 26, 9) // MACD
  moment = mom(close, 10) // Momentum
  cci = cci(close, 10) // CCI
  Obv = obv // OBV
  stk = sma(stoch(close, high, low, 14), 3) // Stoch
  maFast = vwma(close, 12), maSlow = vwma(close, 26), vwmacd = maFast - maSlow // volume weighted macd
  Cmfm = ((close-low) - (high-close)) / (high - low), Cmfv = Cmfm * volume, cmf = sma(Cmfv, 21) / sma(volume,21) // Chaikin money flow
  Mfi = mfi(close, 14) // Moneyt Flow Index
  
  // keep indicators names and colors in arrays
  var indicators_name = array.new_string(11)
  var div_colors = array.new_color(4)
  if barstate.isfirst
      // names
      array.set(indicators_name, 0, showindis == &quot;Full&quot; ? &quot;MACD&quot; : &quot;M&quot;)
      array.set(indicators_name, 1, showindis == &quot;Full&quot; ? &quot;Hist&quot; : &quot;H&quot;)
      array.set(indicators_name, 2, showindis == &quot;Full&quot; ? &quot;RSI&quot; : &quot;E&quot;)
      array.set(indicators_name, 3, showindis == &quot;Full&quot; ? &quot;Stoch&quot; : &quot;S&quot;)
      array.set(indicators_name, 4, showindis == &quot;Full&quot; ? &quot;CCI&quot; : &quot;C&quot;)
      array.set(indicators_name, 5, showindis == &quot;Full&quot; ? &quot;MOM&quot; : &quot;M&quot;)
      array.set(indicators_name, 6, showindis == &quot;Full&quot; ? &quot;OBV&quot; : &quot;O&quot;)
      array.set(indicators_name, 7, showindis == &quot;Full&quot; ? &quot;VWMACD&quot; : &quot;V&quot;)
      array.set(indicators_name, 8, showindis == &quot;Full&quot; ? &quot;CMF&quot; : &quot;C&quot;)
      array.set(indicators_name, 9, showindis == &quot;Full&quot; ? &quot;MFI&quot; : &quot;M&quot;)
      array.set(indicators_name,10, showindis == &quot;Full&quot; ? &quot;Extrn&quot; : &quot;X&quot;)
      //colors
      array.set(div_colors, 0, pos_reg_div_col)
      array.set(div_colors, 1, neg_reg_div_col)
      array.set(div_colors, 2, pos_hid_div_col)
      array.set(div_colors, 3, neg_hid_div_col)
  
  // Check if we get new Pivot High Or Pivot Low
  float ph = pivothigh((source == &quot;Close&quot; ? close : high), prd, prd)
  float pl = pivotlow((source == &quot;Close&quot; ? close : low), prd, prd)
  plotshape(ph and showpivot, text = &quot;H&quot;,  style = shape.labeldown, color = color.new(color.white, 100), textcolor = color.red, location =
  </code></pre>
  <p>location.abovebar, offset = -prd)
  plotshape(pl and showpivot, text = &quot;L&quot;,  style = shape.labelup, color = color.new(color.white, 100), textcolor = color.lime, location
  = location.belowbar, offset = -prd)</p>
  <pre><code>// keep values and positions of Pivot Highs/Lows in the arrays
  var int maxarraysize = 20
  var ph_positions = array.new_int(maxarraysize, 0)
  var pl_positions = array.new_int(maxarraysize, 0)
  var ph_vals = array.new_float(maxarraysize, 0.)
  var pl_vals = array.new_float(maxarraysize, 0.)
  
  // add PHs to the array
  if ph
      array.unshift(ph_positions, bar_index)
      array.unshift(ph_vals, ph)
      if array.size(ph_positions) &gt; maxarraysize
          array.pop(ph_positions)
          array.pop(ph_vals)
  
  // add PLs to the array
  if pl
      array.unshift(pl_positions, bar_index)
      array.unshift(pl_vals, pl)
      if array.size(pl_positions) &gt; maxarraysize
          array.pop(pl_positions)
          array.pop(pl_vals)
  
  // functions to check Regular Divergences and Hidden Divergences
  
  // function to check positive regular or negative hidden divergence
  // cond == 1 =&gt; positive_regular, cond == 2=&gt; negative_hidden
  positive_regular_positive_hidden_divergence(src, cond)=&gt;
      divlen = 0
      prsc = source == &quot;Close&quot; ? close : low
      // if indicators higher than last value and close price is higher than las close 
      if dontconfirm or src &gt; src[1] or close &gt; close[1]
          startpoint = dontconfirm ? 0 : 1 // don't check last candle
          // we search last 15 PPs
          for x = 0 to maxpp - 1
              len = bar_index - array.get(pl_positions, x) + prd
              // if we reach non valued array element or arrived 101. or previous bars then we don't search more
              if array.get(pl_positions, x) == 0 or len &gt; maxbars
                  break
              if len &gt; 5 and 
                 ((cond == 1 and src[startpoint] &gt; src[len] and prsc[startpoint] &lt; nz(array.get(pl_vals, x))) or
                 (cond == 2 and src[startpoint] &lt; src[len] and prsc[startpoint] &gt; nz(array.get(pl_vals, x))))
                  slope1 = (src[startpoint] - src[len]) / (len - startpoint)
                  virtual_line1 = src[startpoint] - slope1
                  slope2 = (close[startpoint] - close[len]) / (len - startpoint)
                  virtual_line2 = close[startpoint] - slope2
                  arrived = true
                  for y = 1 + startpoint to len - 1
                      if src[y] &lt; virtual_line1 or nz(close[y]) &lt; virtual_line2
                          arrived := false
                          break
                      virtual_line1 := virtual_line1 - slope1
                      virtual_line2 := virtual_line2 - slope2
                  
                  if arrived
                      divlen := len
                      break
      divlen
  
  // function to check negative regular or positive hidden divergence
  // cond == 1 =&gt; negative_regular, cond == 2=&gt; positive_hidden
  negative_regular_negative_hidden_divergence(src, cond)=&gt;
      divlen = 0
      prsc = source == &quot;Close&quot; ? close : high
      // if indicators higher than last value and close price is higher than las close 
      if dontconfirm or src &lt; src[1] or close &lt; close[1]
          startpoint = dontconfirm ? 0 : 1 // don't check last candle
          // we search last 15 PPs
          for x = 0 to maxpp - 1
              len = bar_index - array.get(ph_positions, x) + prd
              // if we reach non valued array element or arrived 101. or previous bars then we don't search more
              if array.get(ph_positions, x) == 0 or len &gt; maxbars
                  break
              if len &gt; 5 and 
                 ((cond == 1 and src[startpoint] &lt; src[len] and prsc[startpoint] &gt; nz(array.get(ph_vals, x))) or 
                 (cond == 2 and src[startpoint] &gt; src[len] and prsc[startpoint] &lt; nz(array.get(ph_vals, x))))
                  slope1 = (src[startpoint] - src[len]) / (len - startpoint)
                  virtual_line1 = src[startpoint] - slope1
                  slope2 = (close[startpoint] - nz(close[len])) / (len - startpoint)
                  virtual_line2 = close[startpoint] - slope2
                  arrived = true
                  for y = 1 + startpoint to len - 1
                      if src[y] &gt; virtual_line1 or nz(close[y]) &gt; virtual_line2
                          arrived := false
                          break
                      virtual_line1 := virtual_line1 - slope1
                      virtual_line2 := virtual_line2 - slope2
                  
                  if arrived
                      divlen := len
                      break
      divlen
  
  // calculate 4 types of divergence if enabled in the options and return divergences in an array
  calculate_divs(cond, indicator)=&gt;
      divs = array.new_int(4, 0)
      array.set(divs, 0, cond and (searchdiv == &quot;Regular&quot; or searchdiv == &quot;Regular/Hidden&quot;) ?
  </code></pre>
  <p>positive_regular_positive_hidden_divergence(indicator, 1) : 0)
  array.set(divs, 1, cond and (searchdiv == &quot;Regular&quot; or searchdiv == &quot;Regular/Hidden&quot;) ?
  negative_regular_negative_hidden_divergence(indicator, 1) : 0)
  array.set(divs, 2, cond and (searchdiv == &quot;Hidden&quot; or searchdiv == &quot;Regular/Hidden&quot;)  ?
  positive_regular_positive_hidden_divergence(indicator, 2) : 0)
  array.set(divs, 3, cond and (searchdiv == &quot;Hidden&quot; or searchdiv == &quot;Regular/Hidden&quot;)  ?
  negative_regular_negative_hidden_divergence(indicator, 2) : 0)
  divs</p>
  <pre><code>// array to keep all divergences
  var all_divergences = array.new_int(44) // 11 indicators * 4 divergence = 44 elements
  // set related array elements
  array_set_divs(div_pointer, index)=&gt;
      for x = 0 to 3
          array.set(all_divergences, index * 4 + x, array.get(div_pointer, x))
  
  // set divergences array 
  array_set_divs(calculate_divs(calcmacd, macd), 0)
  array_set_divs(calculate_divs(calcmacda, deltamacd), 1)
  array_set_divs(calculate_divs(calcrsi, rsi), 2)
  array_set_divs(calculate_divs(calcstoc, stk), 3)
  array_set_divs(calculate_divs(calccci, cci), 4)
  array_set_divs(calculate_divs(calcmom, moment), 5)
  array_set_divs(calculate_divs(calcobv, Obv), 6)
  array_set_divs(calculate_divs(calcvwmacd, vwmacd), 7)
  array_set_divs(calculate_divs(calccmf, cmf), 8)
  array_set_divs(calculate_divs(calcmfi, Mfi), 9)
  array_set_divs(calculate_divs(calcext, externalindi), 10)
  
  // check minimum number of divergence, if less than showlimit then delete all divergence
  total_div = 0
  for x = 0 to array.size(all_divergences) - 1
      total_div := total_div + round(sign(array.get(all_divergences, x)))
  
  if total_div &lt; showlimit
      array.fill(all_divergences, 0)
  
  // keep line in an array
  var pos_div_lines = array.new_line(0)
  var neg_div_lines = array.new_line(0)
  var pos_div_labels = array.new_label(0)
  var neg_div_labels = array.new_label(0) 
  
  // remove old lines and labels if showlast option is enabled
  delete_old_pos_div_lines()=&gt;
      if array.size(pos_div_lines) &gt; 0    
          for j = 0 to array.size(pos_div_lines) - 1 
              line.delete(array.get(pos_div_lines, j))
          array.clear(pos_div_lines)
  
  delete_old_neg_div_lines()=&gt;
      if array.size(neg_div_lines) &gt; 0    
          for j = 0 to array.size(neg_div_lines) - 1 
              line.delete(array.get(neg_div_lines, j))
          array.clear(neg_div_lines)
  
  delete_old_pos_div_labels()=&gt;
      if array.size(pos_div_labels) &gt; 0 
          for j = 0 to array.size(pos_div_labels) - 1 
              label.delete(array.get(pos_div_labels, j))
          array.clear(pos_div_labels)
  
  delete_old_neg_div_labels()=&gt;
      if array.size(neg_div_labels) &gt; 0    
          for j = 0 to array.size(neg_div_labels) - 1 
              label.delete(array.get(neg_div_labels, j))
          array.clear(neg_div_labels)
  
  // delete last creted lines and labels until we met new PH/PV 
  delete_last_pos_div_lines_label(n)=&gt;
      if n &gt; 0 and array.size(pos_div_lines) &gt;= n    
          asz = array.size(pos_div_lines)
          for j = 1 to n
              line.delete(array.get(pos_div_lines, asz - j))
              array.pop(pos_div_lines)
          if array.size(pos_div_labels) &gt; 0  
              label.delete(array.get(pos_div_labels, array.size(pos_div_labels) - 1))
              array.pop(pos_div_labels)
  
  delete_last_neg_div_lines_label(n)=&gt;
      if n &gt; 0 and array.size(neg_div_lines) &gt;= n    
          asz = array.size(neg_div_lines)
          for j = 1 to n
              line.delete(array.get(neg_div_lines, asz - j))
              array.pop(neg_div_lines)
          if array.size(neg_div_labels) &gt; 0  
              label.delete(array.get(neg_div_labels, array.size(neg_div_labels) - 1))
              array.pop(neg_div_labels)
              
  // variables for Alerts
  pos_reg_div_detected = false
  neg_reg_div_detected = false
  pos_hid_div_detected = false
  neg_hid_div_detected = false
  
  // to remove lines/labels until we met new // PH/PL
  var last_pos_div_lines = 0
  var last_neg_div_lines = 0
  var remove_last_pos_divs = false 
  var remove_last_neg_divs = false
  if pl
      remove_last_pos_divs := false
      last_pos_div_lines := 0
  if ph
      remove_last_neg_divs := false
      last_neg_div_lines := 0
  
  // draw divergences lines and labels
  divergence_text_top = &quot;&quot;
  divergence_text_bottom = &quot;&quot;
  distances = array.new_int(0)
  dnumdiv_top = 0
  dnumdiv_bottom = 0
  top_label_col = color.white
  bottom_label_col = color.white
  old_pos_divs_can_be_removed = true
  old_neg_divs_can_be_removed = true
  startpoint = dontconfirm ? 0 : 1 // used for don't confirm option
  
  for x = 0 to 10
      div_type = -1
      for y = 0 to 3
          if array.get(all_divergences, x * 4 + y) &gt; 0 // any divergence?
              div_type := y
              if (y % 2) == 1 
                  dnumdiv_top := dnumdiv_top + 1
                  top_label_col := array.get(div_colors, y)
              if (y % 2) == 0
                  dnumdiv_bottom := dnumdiv_bottom + 1
                  bottom_label_col := array.get(div_colors, y)
              if not array.includes(distances, array.get(all_divergences, x * 4 + y))  // line not exist ?
                  array.push(distances, array.get(all_divergences, x * 4 + y))
                  new_line = showlines ? line.new(x1 = bar_index - array.get(all_divergences, x * 4 + y), 
                            y1 = (source == &quot;Close&quot; ? close[array.get(all_divergences, x * 4 + y)] : 
                                             (y % 2) == 0 ? low[array.get(all_divergences, x * 4 + y)] : 
                                                            high[array.get(all_divergences, x * 4 + y)]),
                            x2 = bar_index - startpoint,
                            y2 = (source == &quot;Close&quot; ? close[startpoint] : 
                                             (y % 2) == 0 ? low[startpoint] : 
                                                            high[startpoint]),
                            color = array.get(div_colors, y),
                            style = y &lt; 2 ? reg_div_l_style : hid_div_l_style,
                            width = y &lt; 2 ? reg_div_l_width : hid_div_l_width
                            )
                            : na
                  if (y % 2) == 0
                      if old_pos_divs_can_be_removed
                          old_pos_divs_can_be_removed := false
                          if not showlast and remove_last_pos_divs
                              delete_last_pos_div_lines_label(last_pos_div_lines)
                              last_pos_div_lines := 0
                          if showlast
                              delete_old_pos_div_lines()
                      array.push(pos_div_lines, new_line)
                      last_pos_div_lines := last_pos_div_lines + 1
                      remove_last_pos_divs := true
                      
                  if (y % 2) == 1
                      if old_neg_divs_can_be_removed
                          old_neg_divs_can_be_removed := false
                          if not showlast and remove_last_neg_divs
                              delete_last_neg_div_lines_label(last_neg_div_lines)
                              last_neg_div_lines := 0
                          if showlast
                              delete_old_neg_div_lines()
                      array.push(neg_div_lines, new_line)
                      last_neg_div_lines := last_neg_div_lines + 1
                      remove_last_neg_divs := true
                      
              // set variables for alerts
              if y == 0
                  pos_reg_div_detected := true
              if y == 1
                  neg_reg_div_detected := true
              if y == 2
                  pos_hid_div_detected := true
              if y == 3
                  neg_hid_div_detected := true
      // get text for labels
      if div_type &gt;= 0
          divergence_text_top    := divergence_text_top    + ((div_type % 2) == 1 ? (showindis != &quot;Don't Show&quot; ?
  </code></pre>
  <p>array.get(indicators_name, x) + &quot;\n&quot; : &quot;&quot;) : &quot;&quot;)
  divergence_text_bottom := divergence_text_bottom + ((div_type % 2) == 0 ? (showindis != &quot;Don't Show&quot; ?
  array.get(indicators_name, x) + &quot;\n&quot; : &quot;&quot;) : &quot;&quot;)</p>
  <pre><code>// draw labels
  if showindis != &quot;Don't Show&quot; or shownum
      if shownum and dnumdiv_top &gt; 0
          divergence_text_top := divergence_text_top + tostring(dnumdiv_top)
      if shownum and dnumdiv_bottom &gt; 0
          divergence_text_bottom := divergence_text_bottom + tostring(dnumdiv_bottom)
      if divergence_text_top != &quot;&quot;
          if showlast
              delete_old_neg_div_labels()
          array.push(neg_div_labels, 
                        label.new( x = bar_index, 
                                   y = max(high, high[1]), 
                                   text = divergence_text_top,
                                   color = top_label_col,
                                   textcolor = neg_div_text_col,
                                   style = label.style_label_down
                                   ))
                                   
      if divergence_text_bottom != &quot;&quot;
          if showlast
              delete_old_pos_div_labels()
          array.push(pos_div_labels, 
                        label.new( x = bar_index, 
                                   y = min(low, low[1]), 
                                   text = divergence_text_bottom,
                                   color = bottom_label_col, 
                                   textcolor = pos_div_text_col,
                                   style = label.style_label_up
                                   ))
                                   
      
  alertcondition(pos_reg_div_detected, title='Positive Regular Divergence Detected', message='Positive Regular Divergence Detected')
  alertcondition(neg_reg_div_detected, title='Negative Regular Divergence Detected', message='Negative Regular Divergence Detected')
  alertcondition(pos_hid_div_detected, title='Positive Hidden Divergence Detected', message='Positive Hidden Divergence Detected')
  alertcondition(neg_hid_div_detected, title='Negative Hidden Divergence Detected', message='Negative Hidden Divergence Detected')
  
  alertcondition(pos_reg_div_detected or pos_hid_div_detected, title='Positive Divergence Detected', message='Positive Divergence
  </code></pre>
  <p>Detected')
  alertcondition(neg_reg_div_detected or neg_hid_div_detected, title='Negative Divergence Detected', message='Negative Divergence
  Detected')</p>
  <pre><code>customFunc() =&gt; pos_reg_div_detected
  
  s1  = security('BTCUSD',  '1', customFunc())
  s2  = security('ETHUSD',  '1', customFunc())
  s3  = security('XRPUSD',  '1', customFunc())
  s4  = security('LTCUSD',  '1', customFunc())
  s5  = security('USDTUSD', '1', customFunc())
  s6  = security('EOSUSD',  '1', customFunc())
  s7  = security('BNBUSD',  '1', customFunc())
  s8  = security('BSVUSD',  '1', customFunc())
  s9  = security('XMRUSD',  '1', customFunc())
  s10 = security('ADAUSD',  '1', customFunc())
  s11 = security('XLMUSD',  '1', customFunc())
  s12 = security('LEOUSD',  '1', customFunc())
  s13 = security('TRXUSD',  '1', customFunc())
  s14 = security('DASHUSD', '1', customFunc())
  s15 = security('ETCUSD',  '1', customFunc())
  s16 = security('XTZUSD',  '1', customFunc())
  s17 = security('IOTAUSD', '1', customFunc())
  s18 = security('LINKUSD', '1', customFunc())
  s19 = security('NEOUSD',  '1', customFunc())
  
  scr_label = 'Screener: \n##########\n'
  
  scr_label := s1  ? scr_label + 'BTCUSD\n'  : scr_label
  scr_label := s2  ? scr_label + 'ETHUSD\n'  : scr_label
  scr_label := s3  ? scr_label + 'XRPUSD\n'  : scr_label
  scr_label := s4  ? scr_label + 'LTCUSD\n'  : scr_label
  scr_label := s5  ? scr_label + 'USDTUSD\n' : scr_label
  scr_label := s6  ? scr_label + 'EOSUSD\n'  : scr_label
  scr_label := s7  ? scr_label + 'BNBUSD\n'  : scr_label
  scr_label := s8  ? scr_label + 'BSVUSD\n'  : scr_label
  scr_label := s9  ? scr_label + 'XMRUSD\n'  : scr_label
  scr_label := s10 ? scr_label + 'ADAUSD\n'  : scr_label
  scr_label := s11 ? scr_label + 'XLMUSD\n'  : scr_label
  scr_label := s12 ? scr_label + 'LEOUSD\n'  : scr_label
  scr_label := s13 ? scr_label + 'TRXUSD\n'  : scr_label
  scr_label := s14 ? scr_label + 'DASHUSD\n' : scr_label
  scr_label := s15 ? scr_label + 'ETCUSD\n'  : scr_label
  scr_label := s16 ? scr_label + 'XTZUSD\n'  : scr_label
  scr_label := s17 ? scr_label + 'IOTAUSD\n' : scr_label
  scr_label := s18 ? scr_label + 'LINKUSD\n' : scr_label
  scr_label := s19 ? scr_label + 'NEOUSD\n'  : scr_label
  
  lab_l = label.new(
            bar_index, 0, scr_label, 
            color=color.gray, 
            textcolor=color.black, 
            style =  label.style_labeldown,
            yloc = yloc.price)
  
  label.delete(lab_l[1])
  </code></pre>
  </blockquote>
  <pre><code>plot(0, transp = 100)
  </code></pre>