Number of non commercial traders from legacy commitment of traders (COT) report. For the main symbol but also allows to override it. Also allows to include options in consideration.
study("Noncommercial Traders", shorttitle="Noncom Trd", precision=0) force_root = input("", title="Override Product") is_includeoptions = input(false, type=bool, title="Include Options") fxroot = ticker == "USDCAD" ? "CD" : ticker == "USDCAD" ? "CD" : ticker == "USDCHF" ? "SF" : ticker == "USDCZK" ? "CZ" : ticker == "USDHUF" ? "FR" : ticker == "USDILS" ? "IS" : ticker == "USDJPY" ? "JY" : ticker == "USDMXN" ? "MP" : ticker == "USDNOK" ? "UN" : ticker == "USDPLN" ? "PZ" : ticker == "USDRUB" ? "RU" : ticker == "USDSEK" ? "SE" : ticker == "USDZAR" ? "RA" : ticker == "EURUSD" ? "EC" : ticker == "AUDUSD" ? "AD" : ticker == "GBPUSD" ? "BP" : ticker == "NZDUSD" ? "NE" : ticker == "BRLUSD" ? "BR" : "" root = force_root == "" ? fxroot == "" ? syminfo.root : fxroot : force_root code = root + (is_includeoptions ? "_FO" : "_F") + "_L_ALL_NT" is_inversed = ticker == "USDCAD" ? true : ticker == "USDCAD" ? true : ticker == "USDCHF" ? true : ticker == "USDCZK" ? true : ticker == "USDHUF" ? true : ticker == "USDILS" ? true : ticker == "USDJPY" ? true : ticker == "USDMXN" ? true : ticker == "USDNOK" ? true : ticker == "USDPLN" ? true : ticker == "USDRUB" ? true : ticker == "USDSEK" ? true : ticker == "USDZAR" ? true : false long_noncom = security("QUANDL:CFTC/"+code+"|1", "D", close) short_noncom = security("QUANDL:CFTC/"+code+"|2", "D", close) spread = security("QUANDL:CFTC/"+code+"|3", "D", close) long = is_inversed ? short_noncom : long_noncom short = is_inversed ? long_noncom : short_noncom plot(long, color = green, title="Long") plot(short, color = red, title="Short") plot(long-short, color = yellow, title="Net", style=histogram) plot(spread, color = purple, title="Spread", style=area) hline(0, color=yellow, linestyle=dashed)