Advertisement
Maurizio-Ciullo

Indicatore Trading Activity Hours Ver5

Nov 19th, 2022 (edited)
715
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Script per analizzare i bias
  2. // Video Spiegazione in cartella: Python per Trading - Strategie, Backtest e ottimizzazioni [Webinar] Overview del processo: i 7 step dall'idea alla live
  3.  
  4. // © Quant Trader Academy
  5. //@version=5
  6. indicator("QTA - Active trading hours", overlay=false)
  7.  
  8. offset = input.int(1, "Distanza barre", 0, 9999, 1)
  9. coloreBarre = input.color(color.rgb(159, 47, 140), "Colore barre")
  10. coloreEtichetteSfondo = input.color(color.rgb(19, 50, 70), "Colore sfondo etichetta")
  11. coloreEtichetteTesto = input.color(color.rgb(255, 255, 255), "Colore testo etichetta")
  12. coloreMediaVolume = input.color(color.rgb(89, 159, 220), "Colore Linea Media Volume")
  13. spessoreMediaVolume = input.int(2, "Spessore Linea Media Volume", 1, 9999, 1)
  14.  
  15. var tabellaInfo = table.new(position = position.top_right, columns = 1, rows = 2, bgcolor = coloreBarre)
  16. var volMedioTrading = 0.0
  17.  
  18. var h0 = array.new_float(0)
  19. var h1 = array.new_float(0)
  20. var h2 = array.new_float(0)
  21. var h3 = array.new_float(0)
  22. var h4 = array.new_float(0)
  23. var h5 = array.new_float(0)
  24. var h6 = array.new_float(0)
  25. var h7 = array.new_float(0)
  26. var h8 = array.new_float(0)
  27. var h9 = array.new_float(0)
  28. var h10 = array.new_float(0)
  29. var h11 = array.new_float(0)
  30. var h12 = array.new_float(0)
  31. var h13 = array.new_float(0)
  32. var h14 = array.new_float(0)
  33. var h15 = array.new_float(0)
  34. var h16 = array.new_float(0)
  35. var h17 = array.new_float(0)
  36. var h18 = array.new_float(0)
  37. var h19 = array.new_float(0)
  38. var h20 = array.new_float(0)
  39. var h21 = array.new_float(0)
  40. var h22 = array.new_float(0)
  41. var h23 = array.new_float(0)
  42. var averageVolPerHour = array.new_float(0)
  43.  
  44. array.push(h0, hour(time) == 0 ? volume : na)
  45. array.push(h1, hour(time) == 1 ? volume : na)
  46. array.push(h2, hour(time) == 2 ? volume : na)
  47. array.push(h3, hour(time) == 3 ? volume : na)
  48. array.push(h4, hour(time) == 4 ? volume : na)
  49. array.push(h5, hour(time) == 5 ? volume : na)
  50. array.push(h6, hour(time) == 6 ? volume : na)
  51. array.push(h7, hour(time) == 7 ? volume : na)
  52. array.push(h8, hour(time) == 8 ? volume : na)
  53. array.push(h9, hour(time) == 9 ? volume : na)
  54. array.push(h10, hour(time) == 10 ? volume : na)
  55. array.push(h11, hour(time) == 11 ? volume : na)
  56. array.push(h12, hour(time) == 12 ? volume : na)
  57. array.push(h13, hour(time) == 13 ? volume : na)
  58. array.push(h14, hour(time) == 14 ? volume : na)
  59. array.push(h15, hour(time) == 15 ? volume : na)
  60. array.push(h16, hour(time) == 16 ? volume : na)
  61. array.push(h17, hour(time) == 17 ? volume : na)
  62. array.push(h18, hour(time) == 18 ? volume : na)
  63. array.push(h19, hour(time) == 19 ? volume : na)
  64. array.push(h20, hour(time) == 20 ? volume : na)
  65. array.push(h21, hour(time) == 21 ? volume : na)
  66. array.push(h22, hour(time) == 22 ? volume : na)
  67. array.push(h23, hour(time) == 23 ? volume : na)
  68.  
  69. disegnaBarra(offset, volMedio, etichetta, colore) =>
  70.     line.new(last_bar_index-offset, 0, last_bar_index - offset, volMedio, color=colore, width=20)
  71.     label.new(x=last_bar_index-offset, y=0, color=coloreEtichetteSfondo, textcolor=coloreEtichetteTesto, style=label.style_label_up, size=size.small, text=etichetta)
  72.  
  73. if barstate.islast
  74.     array.clear(averageVolPerHour)
  75.     array.push(averageVolPerHour, array.avg(h0))
  76.     array.push(averageVolPerHour, array.avg(h1))
  77.     array.push(averageVolPerHour, array.avg(h2))
  78.     array.push(averageVolPerHour, array.avg(h3))
  79.     array.push(averageVolPerHour, array.avg(h4))
  80.     array.push(averageVolPerHour, array.avg(h5))
  81.     array.push(averageVolPerHour, array.avg(h6))
  82.     array.push(averageVolPerHour, array.avg(h7))
  83.     array.push(averageVolPerHour, array.avg(h8))
  84.     array.push(averageVolPerHour, array.avg(h9))
  85.     array.push(averageVolPerHour, array.avg(h10))
  86.     array.push(averageVolPerHour, array.avg(h11))
  87.     array.push(averageVolPerHour, array.avg(h12))
  88.     array.push(averageVolPerHour, array.avg(h13))
  89.     array.push(averageVolPerHour, array.avg(h14))
  90.     array.push(averageVolPerHour, array.avg(h15))
  91.     array.push(averageVolPerHour, array.avg(h16))
  92.     array.push(averageVolPerHour, array.avg(h17))
  93.     array.push(averageVolPerHour, array.avg(h18))
  94.     array.push(averageVolPerHour, array.avg(h19))
  95.     array.push(averageVolPerHour, array.avg(h20))
  96.     array.push(averageVolPerHour, array.avg(h21))
  97.     array.push(averageVolPerHour, array.avg(h22))
  98.     array.push(averageVolPerHour, array.avg(h23))
  99.  
  100.     x = 24
  101.     size = array.size(averageVolPerHour) - 1
  102.  
  103.     for i = 0 to size
  104.         disegnaBarra(offset * x, array.get(averageVolPerHour, i), str.tostring(i), coloreBarre)
  105.         x := x-1
  106.    
  107.     avgVolume = array.avg(id=averageVolPerHour)
  108.     line.new(last_bar_index - (offset * 24), avgVolume , last_bar_index -offset, avgVolume, color=coloreMediaVolume, width=spessoreMediaVolume)
  109.  
  110.     //testo in alto a dx
  111.     table.cell(tabellaInfo, 0, 0, "?? Utilizzare l'orario esteso per una migliore visualizzazione", text_color = coloreEtichetteTesto, text_size = size.small, text_halign= text.align_left)
  112.     table.cell(tabellaInfo, 0, 1, "?? Totale barre analizzate: " + str.tostring(bar_index + 1), text_color = coloreEtichetteTesto, text_size = size.small, text_halign= text.align_left)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement