@@ -48,8 +48,19 @@ fundPerfYTD() =>
4848
4949 perf
5050
51+ canGetDataFromSec(bool isLastBarSecSer, int dayofmonthSecSer) =>
52+ not isLastBarSecSer or dayofmonth <= dayofmonthSecSer
53+
54+ // fund_flows.<1M|3M|YTD|1Y|3Y|5Y>
55+ fundFlows(finTicker) =>
56+ [fund_flows1M, fund_flows3M, fund_flows1Y, fund_flows3Y, fund_flows5Y, fund_flowsYTD, dm, b_s] = request.security(finTicker, fundTF, [sum(month1), sum(month3), sum(years1), sum(years3), sum(years5), sumYTD(), dayofmonth, barstate.islast], lookahead = barmerge.lookahead_on, ignore_invalid_symbol=true)
57+ if canGetDataFromSec(b_s, dm)
58+ [fund_flows1M, fund_flows3M, fund_flows1Y, fund_flows3Y, fund_flows5Y, fund_flowsYTD]
59+ else
60+ [na, na, na, na, na, na]
61+
5162fundFlowsTicker = __financial_tickerid(syminfo.tickerid, "FUND_FLOWS", "D")
52- [fund_flows1M, fund_flows3M, fund_flows1Y, fund_flows3Y, fund_flows5Y, fund_flowsYTD] = request.security (fundFlowsTicker, fundTF, [sum(month1), sum(month3), sum(years1), sum(years3), sum(years5), sumYTD()], ignore_invalid_symbol=true, gaps=barmerge.gaps_off )
63+ [fund_flows1M, fund_flows3M, fund_flows1Y, fund_flows3Y, fund_flows5Y, fund_flowsYTD] = fundFlows (fundFlowsTicker)
5364
5465plot(fund_flows1M, title="fund_flows.1M")
5566plot(fund_flows3M, title="fund_flows.3M")
@@ -58,8 +69,16 @@ plot(fund_flows3Y, title="fund_flows.3Y")
5869plot(fund_flows5Y, title="fund_flows.5Y")
5970plot(fund_flowsYTD, title="fund_flows.YTD")
6071
72+ // nav_perf.<1M|3M|YTD|1Y|3Y|5Y>
73+ fundPerfs(finTicker) =>
74+ [m1, m2, y1, y3, y5, ytd, dm, b_s] = request.security(finTicker, fundTF, [fundPerf(month1), fundPerf(month3), fundPerf(years1), fundPerf(years3), fundPerf(years5), fundPerfYTD(), dayofmonth, barstate.islast], lookahead = barmerge.lookahead_on, ignore_invalid_symbol=true)
75+ if canGetDataFromSec(b_s, dm)
76+ [m1, m2, y1, y3, y5, ytd]
77+ else
78+ [na, na, na, na, na, na]
79+
6180navTicker = __financial_tickerid(syminfo.tickerid, "NAV", "D")
62- [navPerf1M, navPerf3M, navPerf1Y, navPerf3Y, navPerf5Y, navPerfYTD] = request.security (navTicker, fundTF, [fundPerf(month1), fundPerf(month3), fundPerf(years1), fundPerf(years3), fundPerf(years5), fundPerfYTD()], ignore_invalid_symbol=true, gaps=barmerge.gaps_off )
81+ [navPerf1M, navPerf3M, navPerf1Y, navPerf3Y, navPerf5Y, navPerfYTD] = fundPerfs (navTicker)
6382
6483plot(navPerf1M, title="nav_perf.1M")
6584plot(navPerf3M, title="nav_perf.3M")
@@ -68,8 +87,9 @@ plot(navPerf3Y, title="nav_perf.3Y")
6887plot(navPerf5Y, title="nav_perf.5Y")
6988plot(navPerfYTD, title="nav_perf.YTD")
7089
90+ // aum_perf.<1M|3M|YTD|1Y|3Y|5Y>
7191aumTicker = __financial_tickerid(syminfo.tickerid, "AUM", "D")
72- [aumPerf1M, aumPerf3M, aumPerf1Y, aumPerf3Y, aumPerf5Y, aumPerfYTD] = request.security (aumTicker, fundTF, [fundPerf(month1), fundPerf(month3), fundPerf(years1), fundPerf(years3), fundPerf(years5), fundPerfYTD()], ignore_invalid_symbol=true, gaps=barmerge.gaps_off )
92+ [aumPerf1M, aumPerf3M, aumPerf1Y, aumPerf3Y, aumPerf5Y, aumPerfYTD] = fundPerfs (aumTicker)
7393
7494plot(aumPerf1M, title="aum_perf.1M")
7595plot(aumPerf3M, title="aum_perf.3M")
@@ -78,8 +98,16 @@ plot(aumPerf3Y, title="aum_perf.3Y")
7898plot(aumPerf5Y, title="aum_perf.5Y")
7999plot(aumPerfYTD, title="aum_perf.YTD")
80100
101+ // nav_total_return.<1M|3M|6M|YTD|1Y|3Y|5Y>
102+ navTotalReturns(finTicker) =>
103+ [navTotalReturn1M, navTotalReturn3M, navTotalReturn6M, navTotalReturn1Y, navTotalReturn3Y, navTotalReturn5Y, navTotalReturnYTD, dm, b_s] = request.security(finTicker, fundTF, [fundPerf(month1), fundPerf(month3), fundPerf(month6), fundPerf(years1), fundPerf(years3), fundPerf(years5), fundPerfYTD(), dayofmonth, barstate.islast], lookahead = barmerge.lookahead_on, ignore_invalid_symbol=true)
104+ if canGetDataFromSec(b_s, dm)
105+ [navTotalReturn1M, navTotalReturn3M, navTotalReturn6M, navTotalReturn1Y, navTotalReturn3Y, navTotalReturn5Y, navTotalReturnYTD]
106+ else
107+ [na, na, na, na, na, na, na]
108+
81109navAllTicker = __financial_tickerid(syminfo.tickerid, "NAV_ALL", "D")
82- [navTotalReturn1M, navTotalReturn3M, navTotalReturn6M, navTotalReturn1Y, navTotalReturn3Y, navTotalReturn5Y, navTotalReturnYTD] = request.security (navAllTicker, fundTF, [fundPerf(month1), fundPerf(month3), fundPerf(month6), fundPerf(years1), fundPerf(years3), fundPerf(years5), fundPerfYTD()], ignore_invalid_symbol=true, gaps=barmerge.gaps_off )
110+ [navTotalReturn1M, navTotalReturn3M, navTotalReturn6M, navTotalReturn1Y, navTotalReturn3Y, navTotalReturn5Y, navTotalReturnYTD] = navTotalReturns (navAllTicker)
83111
84112plot(navTotalReturn1M, title="nav_total_return.1M")
85113plot(navTotalReturn3M, title="nav_total_return.3M")
0 commit comments