This indicator is based on Ichimoku number theory. It marks a SwingLow/SwingHigh defined by a special fractal-pattern and fractals of different count which according to Ichimoku number theory are interesting levels where a reversal might take place.
The indicator marks additional 2 SwingHighs/SwingLows and there following fractals according number theory within the first 172 bars after the 1st SwingHigh/SwingLow.
The arrows to only highlight numbers 172 and 257 as I found them to be most significant in preceding a major market move.
I also found that using a Fractal Shoulder of 14 bars yielded the most accurate results.
For those ‘John Nash – A Beautifull Mind’ types who might naturally see patterns in numbers, please let us know if you find something interesting.
Discussion about the indicator goes here: https://www.prorealcode.com/topic/ichimoku-number-theory-indicator/
The concept and code were made with the contribution of @juanj
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138  | 
						//Defparam calculateonlastbars = 5000 // --- settings  //ATRNumberHeight=10 //FractalShoulderSize=14 // --- end of settings  once SwingLow=0 once SwingLow2=0 once SwingLow3=0 once SwingHigh=0 once SwingHigh2=0 once SwingHigh3=0 once i=0 once j=0 once k=0 once lownext=1 once highnext=0 R = FractalShoulderSize //Fractal Shoulder Size //Adjusts distance of numbers above candles relative to timeframe atr = AverageTrueRange[ATRNumberHeight](close)[R]/pipsize //Identify the 1st swing low if not swinglow and lownext then  IF low[R] < lowest[R](low) and low[R] < lowest[R](low)[R+1] Then   SwingLow = low[R] //(R lower lows on left and R lower lows on right)  Endif elsif swinglow>0 then  i=i+1  IF i=1 or i=9 or i=17 or i=26 or i=33 or i=42 or i=65 or i=76 or i=129 or i=172 or i=257 then   drawtext("#i#",barindex-R+1,low[R+1]-(pipsize*ATR*4)) coloured(255,0,0)    If i=172 or i=257 Then     DRAWARROWUP(barindex-R+1,low[R+1]-(pipsize*ATR*2)) coloured(255,0,0)    EndIf  endif  if i=257 then //65 42   SwingLow=0   i=0   lownext=0   highnext=1  endif  IF i>1 and not SwingLow2 and low[R] < lowest[R](low) and low[R] < lowest[R](low)[R+1] Then   SwingLow2 = low[R] //(R lower lows on left and R lower lows on right)  Elsif SwingLow>0 and SwingLow2>0  and not Swinglow3 then   IF low[R] < lowest[R](low) and low[R] < lowest[R](low)[R+1] Then    SwingLow3 = low[R] //(R lower lows on left and R lower lows on right)   Endif  endif endif if Swinglow2>0 then  j=j+1  IF j=1 or j=9 or j=17 or j=26 or j=33 or j=42 or j=65 or j=76 or j=129 or j=172 or j=257 then   drawtext("#j#",barindex-4,low[R]-(pipsize*ATR*4)) coloured(0,255,0)   If j=172 or j=257 Then    DRAWARROWUP(barindex-R,low[R]-(pipsize*ATR*2)) coloured(0,255,0)   EndIf  endif  if j=257 then //65 42   SwingLow2=0   j=0  endif endif if Swinglow3>0 then  k=k+1  IF k=1 or k=9 or k=17 or k=26 or k=33 or k=42 or k=65 or k=76 or k=129 or k=172 or k=257 then   drawtext("#k#",barindex-R,low[R]-(pipsize*ATR*4)) coloured(0,0,255)   If k=172 or k=257 Then    DRAWARROWUP(barindex-R,low[R]-(pipsize*ATR*2)) coloured(0,0,255)   EndIf  endif  if k=257 then //65 42   SwingLow3=0   k=0  endif endif //Identify the 1st swing high if not swinghigh and highnext then  If high[R] > highest[R](high) and high[R] > highest[R](high)[R+1]  Then   SwingHigh = high[R] //(R lower highs on left and R lower highs on right)  Endif  elsif swinghigh>0 then   i=i+1   IF i=1 or i=9 or i=17 or i=26 or i=33 or i=42 or i=65 or i=76 or i=129 or i=172 or i=257 then    drawtext("#i#",barindex-R+1,high[R+1]+(pipsize*ATR*4)) coloured(255,0,0)    If i=172 or i=257 Then     DRAWARROWDOWN(barindex-R+1,high[R+1]+(pipsize*ATR*2)) coloured(255,0,0)    EndIf   endif   if i=257 then //65 42    Swinghigh=0    i=0    highnext=0    lownext=1   endif   If i>1 and not SwingHigh2 and high[R] > highest[R](high) and high[R] > highest[R](high)[R+1]  Then    SwingHigh2 = high[R] //(R lower highs on left and R lower highs on right)   Elsif Swinghigh>0 and Swinghigh2>0 and not SwingHigh3 then   If high[R] > highest[R](high) and high[R] > highest[R](high)[R+1]  Then    SwingHigh3 = high[R] //(R lower highs on left and R lower highs on right)   Endif  endif endif if Swinghigh2>0 then  j=j+1  IF j=1 or j=9 or j=17 or j=26 or j=33 or j=42 or j=65 or j=76 or j=129 or j=172 or j=257 then   drawtext("#j#",barindex-R,high[R]+(pipsize*ATR*4)) coloured(0,255,0)   If j=172 or j=257 Then    DRAWARROWDOWN(barindex-R,high[R]+(pipsize*ATR*2)) coloured(0,255,0)   EndIf  endif  if j=257 then //65 42   Swinghigh2=0   j=0  endif endif if Swinghigh3>0 then  k=k+1  IF k=1 or k=9 or k=17 or k=26 or k=33 or k=42 or k=65 or k=76 or k=129 or k=172 or k=257 then   drawtext("#k#",barindex-R,high[R]+(pipsize*ATR*4)) coloured(0,0,255)   If k=172 or k=257 Then    DRAWARROWDOWN(barindex-R,high[R]+(pipsize*ATR*2)) coloured(0,0,255)   EndIf  endif  if k=257 then //65 42   Swinghigh3=0   k=0  endif endif return  | 
					
Share this
No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.
ProRealTime ITF files and other attachments :PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials
								
							
								
										
								
								
								
								
								
										
										
										
								
								
								
								
								
								
								
								
								
								
		
		
		
I added this indicator to my pro real time but its not showing up on my candles. Its invisible