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