Advertisement
PineCoders

Bars Left

Apr 9th, 2020
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.19 KB | None | 0 0
  1. //@version=4
  2. study("Bars left")
  3.  
  4. f_msInBarsFromRes() =>
  5. var _MILLISECONDS_IN_SECOND = 1000
  6. var _MILLISECONDS_IN_MINUTE = 60 * _MILLISECONDS_IN_SECOND
  7. var _MILLISECONDS_IN_HOUR = 60 * _MILLISECONDS_IN_MINUTE
  8. var _MILLISECONDS_IN_DAY = 24 * _MILLISECONDS_IN_HOUR
  9. var _MILLISECONDS_IN_WEEK = 7 * _MILLISECONDS_IN_DAY
  10. var _MILLISECONDS_IN_MONTH = 30 * _MILLISECONDS_IN_DAY
  11. var ms = timeframe.isseconds ? timeframe.multiplier * _MILLISECONDS_IN_SECOND : timeframe.isintraday ? timeframe.multiplier * _MILLISECONDS_IN_MINUTE : timeframe.isdaily ? _MILLISECONDS_IN_DAY : timeframe.isweekly ? _MILLISECONDS_IN_WEEK : timeframe.ismonthly ? _MILLISECONDS_IN_MONTH : na
  12.  
  13. f_msInBarsFromTime() =>
  14. var float msBetweenBars = na
  15. ms = time - time[1]
  16. if bar_index == 1
  17. msBetweenBars := ms
  18. else
  19. if not timeframe.isintraday or not change(time("D"))
  20. msBetweenBars := avg(msBetweenBars, ms)
  21. floor(msBetweenBars)
  22.  
  23. f_msInBarsFromTimeAvg() =>
  24. var float msBetweenBars = na
  25. ms = time - time[1]
  26. if bar_index == 1
  27. msBetweenBars := ms
  28. else
  29. if not timeframe.isintraday or not change(time("D"))
  30. msBetweenBars := avg(msBetweenBars, ms)
  31. floor(sma(msBetweenBars, 500))
  32.  
  33.  
  34. var lastBarDate = timestamp(year(timenow), month(timenow), dayofmonth(timenow), hour(timenow), minute(timenow), second(timenow))
  35. barDate = timestamp(year, month, dayofmonth, hour, minute, second)
  36.  
  37. barsLeft1 = floor((lastBarDate - barDate) / f_msInBarsFromRes())
  38. barsLeft2 = floor((lastBarDate - barDate) / f_msInBarsFromTime())
  39. barsLeft3 = floor((lastBarDate - barDate) / f_msInBarsFromTimeAvg())
  40.  
  41. plot(barsLeft1, "barsLeft1")
  42. plot(barsLeft2, "barsLeft2", color.orange)
  43. plot(barsLeft3, "barsLeft3", color.olive)
  44. plotchar(f_msInBarsFromRes(), "f_msInBarsFromRes()", "", location.top)
  45. plotchar(f_msInBarsFromTime(), "f_msInBarsFromTime()", "", location.top)
  46. plotchar(f_msInBarsFromTimeAvg(), "f_msInBarsFromTimeAvg()", "", location.top)
  47. plotchar(dayofmonth(timenow), "dayofmonth(timenow)", "", location.top)
  48. plotchar(hour(timenow), "hour(timenow)", "", location.top)
  49. plotchar(hour(time), "hour(timenow)", "", location.top)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement