xmd79

TCI (TimeZonesIndicator)

Jan 1st, 2023
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.89 KB | None | 0 0
  1. //@version=5
  2. indicator("TCI (TimeZonesIndicator)", overlay=true)
  3.  
  4. // Created By Julian.Grasboeck
  5. //
  6. // This indicator shows when the wake up times for Europe,
  7. // Asia and USA are, considering wake up time as 07:00 - 10:00
  8. // and considering 09:00 - 10:00 as opening time of the stock exchanges
  9. //
  10. // Thanks to:
  11. // https://www.tradingview.com/u/jatubio/
  12. // https://www.tradingview.com/script/LJVBldlJ-Cryptocurrencies-World-Sessions/
  13. // https://www.tradingcode.net/tradingview/background/colour-background-sessions/
  14. // https://www.tradingview.com/script/It2bVD8e-Forex-Session-Overlap/
  15. //
  16. // 05/10/2022
  17. //
  18. //
  19. // ||-----------------------------------------------------------------------------------------------------||
  20. // ||------------------ Common ---------------||
  21.  
  22. // === INPUTS ===
  23. transpWakeUp = input.int(title="Wake Up Time Transparency", defval=80)
  24. transpOpening = input.int(title="Opening Time Transparency", defval=50)
  25.  
  26. // Constants for colours
  27. //transpWakeUp = 80
  28. //transpOpening = 50
  29. naColour = #4169E1 // royal blue
  30. euColour = #FF6347 // tomato
  31. cnColour = #3CB371 // medium sea green
  32. //jpColour = #ff9900 // orange
  33. auColour = #ffff00 // yellow
  34.  
  35. baseAwakeTime = "0700-1000"
  36. baseWakeUpTime = "0700-0900"
  37. baseOpeningTime = "0900-1000"
  38. naTimeRangeStr = "America/New_York"
  39. euTimeRangeStr = "Europe/London"
  40. cnTimeRangeStr = "Asia/Hong_Kong"
  41. //jpTimeRangeStr = "Asia/Tokyo"
  42. auTimeRangeStr = "Australia/Sydney"
  43.  
  44. isRegionActive(timeRangeStr) => (na(time(timeframe.period, baseAwakeTime, timeRangeStr)) == false) and timeframe.isintraday and not(timeframe.isseconds)
  45. isRegionWakingUp(timeRangeStr) => (na(time(timeframe.period, baseWakeUpTime, timeRangeStr)) == false) and timeframe.isintraday
  46. isRegionOpening(timeRangeStr) => (na(time(timeframe.period, baseOpeningTime, timeRangeStr)) == false) and timeframe.isintraday
  47.  
  48. // Colour the background
  49. bgcolor(color=isRegionActive(naTimeRangeStr) ? color.new(naColour, isRegionOpening(naTimeRangeStr) ? transpOpening : transpWakeUp) : na, title="North America", offset=24*(60/timeframe.multiplier))
  50. bgcolor(color=isRegionActive(euTimeRangeStr) ? color.new(euColour, isRegionOpening(euTimeRangeStr) ? transpOpening : transpWakeUp) : na, title="Europe", offset=24*(60/timeframe.multiplier))
  51. bgcolor(color=isRegionActive(cnTimeRangeStr) ? color.new(cnColour, isRegionOpening(cnTimeRangeStr) ? transpOpening : transpWakeUp) : na, title="Asia", offset=24*(60/timeframe.multiplier))
  52. //bgcolor(color=isRegionActive(jpTimeRangeStr) ? color.new(jpColour, isRegionOpening(jpTimeRangeStr) ? transpOpening : transpWakeUp) : na, title="Japan", offset=24*(60/timeframe.multiplier))
  53. bgcolor(color=isRegionActive(auTimeRangeStr) ? color.new(auColour, isRegionOpening(auTimeRangeStr) ? transpOpening : transpWakeUp) : na, title="Australia", offset=24*(60/timeframe.multiplier))
  54.  
Advertisement
Add Comment
Please, Sign In to add comment