pine-script

How to make more than 40 security() calls?


I know the maximum number of security() calls in pinescript is 40 but I came across following workaround from pinecoder.com :

The limit for security() calls is 40, but by using functions returning tuples with security(), you can fetch many more values than 40.

I don't exactly get what the workaround is! I would appreciate if someone can describe it with and example for me.


Solution

  • Fetching 7 datapoints with one security() call, by using tuples.

    //@version=4
    study("Test", "Test", true)
    
    // Fetching 7 datapoints with one security() call.
    [o,h,l,c,h2,h3,h4] = security(syminfo.ticker, timeframe.period, [open,high,low,close,hl2,hlc3,ohlc4])
    
    plot( o, "open",  color.red)
    plot( h, "high",  color.green)
    plot( l, "low",   color.blue)
    plot( c, "close", color.fuchsia)
    plot(h2, "hl2",   color.lime)
    plot(h3, "hlc3",  color.maroon)
    plot(h4, "ohlc4", color.orange)