Skip to content

Commit

Permalink
HBS-0: optimize crypto perf pine (inlines)
Browse files Browse the repository at this point in the history
  • Loading branch information
stimofeev-tv committed Feb 16, 2024
1 parent d125771 commit 2f44a7c
Show file tree
Hide file tree
Showing 6 changed files with 51 additions and 50 deletions.
35 changes: 18 additions & 17 deletions links/performance_crypto.pine.link
Original file line number Diff line number Diff line change
@@ -1,44 +1,45 @@
// Performance for cryptocurrency
// Perf.<5D | W | 1M | 3M | 6M | Y | 5Y | YTD>
perf5D = (close - open[4]) / open[4] * 100
perf5D_USD = request.security(syminfo.tickerid, "D", perf5D, lookahead = barmerge.lookahead_off, currency = "USD", ignore_invalid_symbol=true)
plot(perf5D, title='Perf.5D')
plot(perf5D_USD, title='Perf.5D.USD')

perfW = rr(countOfBarsWeekAgo, week1)
perfW_USD = request.security(syminfo.tickerid, "D", perfW, lookahead = barmerge.lookahead_off, currency = "USD", ignore_invalid_symbol=true)
plot(perfW, title='Perf.W')
plot(perfW_USD, title='Perf.W.USD')

perf1M = rr(countOfBars1MonthAgo, month1)
perf1M_USD = request.security(syminfo.tickerid, "D", perf1M, lookahead = barmerge.lookahead_off, currency = "USD", ignore_invalid_symbol=true)
plot(perf1M, title='Perf.1M')
plot(perf1M_USD, title='Perf.1M.USD')

perf3M = rr(countOfBars3MonthAgo, month3)
perf3M_USD = request.security(syminfo.tickerid, "D", perf3M, lookahead = barmerge.lookahead_off, currency = "USD", ignore_invalid_symbol=true)
plot(perf3M, title='Perf.3M')
plot(perf3M_USD, title='Perf.3M.USD')

perf6M = rr(countOfBars6MonthAgo, month6)
perf6M_USD = request.security(syminfo.tickerid, "D", perf6M, lookahead = barmerge.lookahead_off, currency = "USD", ignore_invalid_symbol=true)
plot(perf6M, title='Perf.6M')
plot(perf6M_USD, title='Perf.6M.USD')

oneYear = 365
oneYearAgo = timenow - 1000 * 60 * 60 * 24 * oneYear
barsCountOneYear = fastSearchN(time, oneYearAgo, oneYear)
perfY = rr(barsCountOneYear, oneYear)
perfY_USD = request.security(syminfo.tickerid, "D", perfY, lookahead = barmerge.lookahead_off, currency = "USD", ignore_invalid_symbol=true)
plot(perfY, title='Perf.Y')
plot(perfY_USD, title='Perf.Y.USD')

perf5Y = rr(countOfBars5YearAgo, years5)
perf5Y_USD = request.security(syminfo.tickerid, "D", perf5Y, lookahead = barmerge.lookahead_off, currency = "USD", ignore_invalid_symbol=true)
plot(perf5Y, title='Perf.5Y')
plot(perf5Y_USD, title='Perf.5Y.USD')

perfYTD = perfYTD()
perfYTD_USD = request.security(syminfo.tickerid, "D", perfYTD, lookahead = barmerge.lookahead_off, currency = "USD", ignore_invalid_symbol=true)
plot(perfYTD, title='Perf.YTD')

[perf5D_USD, perfW_USD, perf1M_USD, perf3M_USD, perf6M_USD, perfY_USD, perf5Y_USD, perfYTD_USD] = request.security(syminfo.tickerid, "D", [perf5D, perfW, perf1M, perf3M, perf6M, perfY, perf5Y, perfYTD], lookahead = barmerge.lookahead_off, currency = "USD", ignore_invalid_symbol=true)

plot(perf5D_USD, title='Perf.5D.USD')
plot(perfW_USD, title='Perf.W.USD')
plot(perf1M_USD, title='Perf.1M.USD')
plot(perf3M_USD, title='Perf.3M.USD')
plot(perf6M_USD, title='Perf.6M.USD')
plot(perfY_USD, title='Perf.Y.USD')
plot(perf5Y_USD, title='Perf.5Y.USD')
plot(perfYTD_USD, title='Perf.YTD.USD')

// Perf.All
var float firstOpenUSD = request.security(syminfo.tickerid, "D", open, lookahead = barmerge.lookahead_on, currency = "USD", ignore_invalid_symbol=true)
lastCloseUSD = request.security(syminfo.tickerid, "D", close, lookahead = barmerge.lookahead_off, currency = "USD", ignore_invalid_symbol=true)
[firstOpenUSD, lastCloseUSD] = request.security(syminfo.tickerid, "D", [open, close], lookahead = barmerge.lookahead_on, currency = "USD", ignore_invalid_symbol=true)
float perfAllUSD = na
if barstate.islast and not na(firstOpenUSD) and not na(lastCloseUSD) and firstOpenUSD > 0
perfAllUSD := (lastCloseUSD - firstOpenUSD) * 100 / math.abs(firstOpenUSD)
Expand Down
2 changes: 1 addition & 1 deletion scanner.data.bonds.json

Large diffs are not rendered by default.

30 changes: 15 additions & 15 deletions scanner.data.coin.json

Large diffs are not rendered by default.

30 changes: 15 additions & 15 deletions scanner.data.crypto.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion scanner.data.futures.json

Large diffs are not rendered by default.

Loading

0 comments on commit 2f44a7c

Please sign in to comment.