Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.02 KB | None | 0 0
  1. //@version=4
  2. //@author=maki2000
  3. study("Auto Intraday Fibs", overlay=true)
  4.  
  5. period = input("5", "Period", input.resolution)
  6. lastSessionClose = input("1555-1600", "Last Session Close", input.session)
  7. currentSessionopen = input("0930-0935", "Current Session Open", input.session)
  8. reverse = input(false, "Reverse", input.bool)
  9. auto_reverse = input(false, "Auto Reverse", input.bool)
  10.  
  11. show_0 = input(true, "Show 0", input.bool)
  12. show_0_236 = input(true, "Show 0.236", input.bool)
  13. show_0_382 = input(true, "Show 0.382", input.bool)
  14. show_0_5 = input(true, "Show 0.5", input.bool)
  15. show_0_618 = input(true, "Show 0.618", input.bool)
  16. show_0_786 = input(true, "Show 0.786", input.bool)
  17. show_1 = input(true, "Show 1", input.bool)
  18. show_1_272 = input(true, "Show 1.272", input.bool)
  19. show_1_618 = input(true, "Show 1.618", input.bool)
  20. show_2 = input(true, "Show 2", input.bool)
  21. show_2_272 = input(false, "Show 2.618", input.bool)
  22. show_2_618 = input(true, "Show 2.618", input.bool)
  23. show_3 = input(false, "Show 3", input.bool)
  24. show_3_618 = input(true, "Show 3.618", input.bool)
  25. show_4_236 = input(true, "Show 4.236", input.bool)
  26. show_4_618 = input(true, "Show 4.618", input.bool)
  27.  
  28.  
  29. getData(s) =>
  30. float d = na
  31. inSession = time(period, s)
  32. if not inSession and inSession[1]
  33. d := close[1]
  34. d
  35.  
  36. float closeData = na
  37.  
  38. closeData := closeData[1]
  39.  
  40. lastClose = security(syminfo.tickerid, period, getData(lastSessionClose))
  41. if not na(lastClose)
  42. closeData := lastClose
  43.  
  44.  
  45. float openData = na
  46. openData := openData[1]
  47.  
  48. currentOpen = security(syminfo.tickerid, period, getData(currentSessionopen))
  49. if not na(currentOpen)
  50. openData := currentOpen
  51.  
  52. // colors
  53. fib_0_color = #868799
  54. fib_1_color = #868799
  55. fib_0_236_color = #912028
  56. fib_0_382_color = #679628
  57. fib_0_5_color = #269628
  58. fib_0_618_color = #269674
  59. fib_0_786_color = #246799
  60. fib_1_272_color = #679628
  61. fib_1_618_color = #221899
  62. fib_2_color = #269674
  63. fib_2_272_color = #679628
  64. fib_2_618_color = #912028
  65. fib_3_color = #246799
  66. fib_3_618_color =#843299
  67. fib_4_236_color = #911873
  68. fib_4_618_color = #679628
  69.  
  70. // auto reverse?
  71. if auto_reverse
  72. if close > openData
  73. reverse := true
  74.  
  75.  
  76.  
  77. // fib retracements
  78. fib_0 = reverse ? openData : closeData
  79. fib_1 = reverse ? closeData : openData
  80. fib_diff = abs(fib_1-fib_0)
  81.  
  82. fib_0_236 = reverse ? fib_0 + (0.236 * fib_diff) : fib_0 - (0.236 * fib_diff)
  83. fib_0_382 = reverse ? fib_0 + (0.382 * fib_diff) : fib_0 - (0.382 * fib_diff)
  84. fib_0_5 = reverse ? fib_0 + (0.5 * fib_diff) : fib_0 - (0.5 * fib_diff)
  85. fib_0_618 = reverse ? fib_0 + (0.618 * fib_diff) : fib_0 - (0.618 * fib_diff)
  86. fib_0_786 = reverse ? fib_0 + (0.786 * fib_diff) : fib_0 - (0.786 * fib_diff)
  87. fib_1_272 = reverse ? fib_0 + (1.272 * fib_diff) : fib_0 - (1.272 * fib_diff)
  88. fib_1_618 = reverse ? fib_0 + (1.618 * fib_diff) : fib_0 - (1.618 * fib_diff)
  89. fib_2 = reverse ? fib_0 + (2 * fib_diff) : fib_0 - (2 * fib_diff)
  90. fib_2_272 = reverse ? fib_0 + (2.272 * fib_diff) : fib_0 - (2.272 * fib_diff)
  91. fib_2_618 = reverse ? fib_0 + (2.618 * fib_diff) : fib_0 - (2.618 * fib_diff)
  92. fib_3 = reverse ? fib_0 + (3 * fib_diff) : fib_0 - (3 * fib_diff)
  93. fib_3_618 = reverse ? fib_0 + (3.618 * fib_diff) : fib_0 - (3.618 * fib_diff)
  94. fib_4_236 = reverse ? fib_0 + (4.236 * fib_diff) : fib_0 - (4.236 * fib_diff)
  95. fib_4_618 = reverse ? fib_0 + (4.618 * fib_diff) : fib_0 - (4.618 * fib_diff)
  96.  
  97. // Fib lines
  98. first_bar_index = bar_index-barssince(lastClose)
  99.  
  100. if show_0
  101. fib_0_line = line.new(x1=bar_index, y1=fib_0, x2=first_bar_index, y2=fib_0, xloc=xloc.bar_index, extend=extend.left, color=fib_1_color, style=line.style_solid, width=1)
  102. line.delete(fib_0_line[1])
  103.  
  104. if show_1
  105. fib_1_line = line.new(x1=bar_index, y1=fib_1, x2=first_bar_index, y2=fib_1, xloc=xloc.bar_index, extend=extend.left, color=fib_0_color, style=line.style_solid, width=1)
  106. line.delete(fib_1_line[1])
  107.  
  108. if show_0_236
  109. fib_0_236_line = line.new(x1=bar_index, y1=fib_0_236, x2=first_bar_index, y2=fib_0_236, xloc=xloc.bar_index, extend=extend.left, color=fib_0_236_color, style=line.style_solid, width=1)
  110. line.delete(fib_0_236_line[1])
  111.  
  112. if show_0_382
  113. fib_0_382_line = line.new(x1=bar_index, y1=fib_0_382, x2=first_bar_index, y2=fib_0_382, xloc=xloc.bar_index, extend=extend.left, color=fib_0_382_color, style=line.style_solid, width=1)
  114. line.delete(fib_0_382_line[1])
  115.  
  116. if show_0_5
  117. fib_0_5_line = line.new(x1=bar_index, y1=fib_0_5, x2=first_bar_index, y2=fib_0_5, xloc=xloc.bar_index, extend=extend.left, color=fib_0_5_color, style=line.style_solid, width=1)
  118. line.delete(fib_0_5_line[1])
  119.  
  120. if show_0_618
  121. fib_0_618_line = line.new(x1=bar_index, y1=fib_0_618, x2=first_bar_index, y2=fib_0_618, xloc=xloc.bar_index, extend=extend.left, color=fib_0_618_color, style=line.style_solid, width=1)
  122. line.delete(fib_0_618_line[1])
  123.  
  124. if show_0_786
  125. fib_0_786_line = line.new(x1=bar_index, y1=fib_0_786, x2=first_bar_index, y2=fib_0_786, xloc=xloc.bar_index, extend=extend.left, color=fib_0_786_color, style=line.style_solid, width=1)
  126. line.delete(fib_0_786_line[1])
  127.  
  128. if show_1_272
  129. fib_1_272_line = line.new(x1=bar_index, y1=fib_1_272, x2=first_bar_index, y2=fib_1_272, xloc=xloc.bar_index, extend=extend.left, color=fib_1_272_color, style=line.style_solid, width=1)
  130. line.delete(fib_1_272_line[1])
  131.  
  132. if show_1_618
  133. fib_1_618_line = line.new(x1=bar_index, y1=fib_1_618, x2=first_bar_index, y2=fib_1_618, xloc=xloc.bar_index, extend=extend.left, color=fib_1_618_color, style=line.style_solid, width=1)
  134. line.delete(fib_1_618_line[1])
  135.  
  136. if show_2
  137. fib_2_line = line.new(x1=bar_index, y1=fib_2, x2=first_bar_index, y2=fib_2, xloc=xloc.bar_index, extend=extend.left, color=fib_2_color, style=line.style_solid, width=1)
  138. line.delete(fib_2_line[1])
  139.  
  140. if show_2_272
  141. fib_2_272_line = line.new(x1=bar_index, y1=fib_2_272, x2=first_bar_index, y2=fib_2_272, xloc=xloc.bar_index, extend=extend.left, color=fib_2_272_color, style=line.style_solid, width=1)
  142. line.delete(fib_2_272_line[1])
  143.  
  144. if show_2_618
  145. fib_2_618_line = line.new(x1=bar_index, y1=fib_2_618, x2=first_bar_index, y2=fib_2_618, xloc=xloc.bar_index, extend=extend.left, color=fib_2_618_color, style=line.style_solid, width=1)
  146. line.delete(fib_2_618_line[1])
  147.  
  148. if show_3
  149. fib_3_line = line.new(x1=bar_index, y1=fib_3, x2=first_bar_index, y2=fib_3, xloc=xloc.bar_index, extend=extend.left, color=fib_3_color, style=line.style_solid, width=1)
  150. line.delete(fib_3_line[1])
  151.  
  152. if show_3_618
  153. fib_3_618_line = line.new(x1=bar_index, y1=fib_3_618, x2=first_bar_index, y2=fib_3_618, xloc=xloc.bar_index, extend=extend.left, color=fib_3_618_color, style=line.style_solid, width=1)
  154. line.delete(fib_3_618_line[1])
  155.  
  156. if show_4_236
  157. fib_4_236_line = line.new(x1=bar_index, y1=fib_4_236, x2=first_bar_index, y2=fib_4_236, xloc=xloc.bar_index, extend=extend.left, color=fib_4_236_color, style=line.style_solid, width=1)
  158. line.delete(fib_4_236_line[1])
  159.  
  160. if show_4_618
  161. fib_4_618_line = line.new(x1=bar_index, y1=fib_4_618, x2=first_bar_index, y2=fib_4_618, xloc=xloc.bar_index, extend=extend.left, color=fib_4_618_color, style=line.style_solid, width=1)
  162. line.delete(fib_4_618_line[1])
  163.  
  164.  
  165. // Labels
  166.  
  167. // labelPosition = bar_index-barssince(lastClose) - 5
  168. labelPosition = bar_index - 10
  169.  
  170. if show_0
  171. labelFib_0 = label.new(labelPosition, fib_0, text="0 ("+tostring(fib_0,"####.##")+")", style=label.style_none, textcolor=fib_0_color, color=color.white, size=size.normal)
  172. label.delete(labelFib_0[1])
  173.  
  174. if show_1
  175. labelFib_1 = label.new(labelPosition, fib_1, text="1 ("+tostring(fib_1,"####.##")+")", style=label.style_none, textcolor=fib_1_color, color=color.white, size=size.normal)
  176. label.delete(labelFib_1[1])
  177.  
  178. if show_0_236
  179. labelFib_0_236 = label.new(labelPosition, fib_0_236, text="0.236 ("+tostring(fib_0_236,"####.##")+")", style=label.style_none, textcolor=fib_0_236_color, color=color.white, size=size.normal)
  180. label.delete(labelFib_0_236[1])
  181.  
  182. if show_0_382
  183. labelFib_0_382 = label.new(labelPosition, fib_0_382, text="0.382 ("+tostring(fib_0_382,"####.##")+")", style=label.style_none, textcolor=fib_0_382_color, color=color.white, size=size.normal)
  184. label.delete(labelFib_0_382[1])
  185.  
  186. if show_0_5
  187. labelFib_0_5 = label.new(labelPosition, fib_0_5, text="0.5 ("+tostring(fib_0_5,"####.##")+")", style=label.style_none, textcolor=fib_0_5_color, color=color.white, size=size.normal)
  188. label.delete(labelFib_0_5[1])
  189.  
  190. if show_0_618
  191. labelFib_0_618 = label.new(labelPosition, fib_0_618, text="0.618 ("+tostring(fib_0_618,"####.##")+")", style=label.style_none, textcolor=fib_0_618_color, color=color.white, size=size.normal)
  192. label.delete(labelFib_0_618[1])
  193.  
  194. if show_0_786
  195. labelFib_0_786 = label.new(labelPosition, fib_0_786, text="0.786 ("+tostring(fib_0_786,"####.##")+")", style=label.style_none, textcolor=fib_0_786_color, color=color.white, size=size.normal)
  196. label.delete(labelFib_0_786[1])
  197.  
  198. if show_1_272
  199. labelFib_1_272 = label.new(labelPosition, fib_1_272, text="1.272 ("+tostring(fib_1_272,"####.##")+")", style=label.style_none, textcolor=fib_1_272_color, color=color.white, size=size.normal)
  200. label.delete(labelFib_1_272[1])
  201.  
  202. if show_1_618
  203. labelFib_1_618 = label.new(labelPosition, fib_1_618, text="1.618 ("+tostring(fib_1_618,"####.##")+")", style=label.style_none, textcolor=fib_1_618_color, color=color.white, size=size.normal)
  204. label.delete(labelFib_1_618[1])
  205.  
  206. if show_2
  207. labelFib_2 = label.new(labelPosition, fib_2, text="2 ("+tostring(fib_2,"####.##")+")", style=label.style_none, textcolor=fib_2_color, color=color.white, size=size.normal)
  208. label.delete(labelFib_2[1])
  209.  
  210. if show_2_272
  211. labelFib_2_272 = label.new(labelPosition, fib_2_272, text="2.272 ("+tostring(fib_2_272,"####.##")+")", style=label.style_none, textcolor=fib_2_272_color, color=color.white, size=size.normal)
  212. label.delete(labelFib_2_272[1])
  213.  
  214. if show_2_618
  215. labelFib_2_618 = label.new(labelPosition, fib_2_618, text="2.618 ("+tostring(fib_2_618,"####.##")+")", style=label.style_none, textcolor=fib_2_618_color, color=color.white, size=size.normal)
  216. label.delete(labelFib_2_618[1])
  217.  
  218. if show_3
  219. labelFib_3 = label.new(labelPosition, fib_3, text="3 ("+tostring(fib_3,"####.##")+")", style=label.style_none, textcolor=fib_3_color, color=color.white, size=size.normal)
  220. label.delete(labelFib_3[1])
  221.  
  222. if show_3_618
  223. labelFib_3_618 = label.new(labelPosition, fib_3_618, text="3.618 ("+tostring(fib_3_618,"####.##")+")", style=label.style_none, textcolor=fib_3_618_color, color=color.white, size=size.normal)
  224. label.delete(labelFib_3_618[1])
  225.  
  226. if show_4_236
  227. labelFib_4_236 = label.new(labelPosition, fib_4_236, text="4.236 ("+tostring(fib_4_236,"####.##")+")", style=label.style_none, textcolor=fib_4_236_color, color=color.white, size=size.normal)
  228. label.delete(labelFib_4_236[1])
  229.  
  230. if show_4_618
  231. labelFib_4_618 = label.new(labelPosition, fib_4_618, text="4.618 ("+tostring(fib_4_618,"####.##")+")", style=label.style_none, textcolor=fib_4_618_color, color=color.white, size=size.normal)
  232. label.delete(labelFib_4_618[1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement